Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notarize Pharo Launcher app so that it is recognized as a trusted app on latest OS X #529

Closed
demarey opened this issue Sep 8, 2021 · 2 comments
Projects

Comments

@demarey
Copy link
Contributor

demarey commented Sep 8, 2021

No description provided.

@demarey demarey created this issue from a note in dev (To do) Sep 8, 2021
@demarey demarey moved this from To do to In progress in dev Sep 9, 2021
@demarey
Copy link
Contributor Author

demarey commented Sep 9, 2021

Bug description

PharoLauncher.app fails to launch on OS X 10.15 and above because the application has not been notarized. Instead of seeing Pharo Launcher, the user is presented with this disconcerting message:
Screenshot 2021-09-09 at 16 49 53
Note that there is no option for the user to override this check and continue. I believe this experience is negative enough to dissuade many casual potential OS X users of Pharo from giving it a try. It's probably also preventing more interested users as well.
PharoLauncher installation itself is ok.

The same problem exists for the VM and is reported here: pharo-project/pharo#9833

Steps to achieve notarization

The Hardened Runtime, along with System Integrity Protection (SIP), protects the runtime integrity of your software by preventing certain classes of exploits, like code injection, dynamically linked library (DLL) hijacking, and process memory space tampering.
This means we must sign with the --options=runtimeoption. But hardened runtime does not allow JIT code so we need, to add entitlements to disable an individual protection.

Automation

To ease the notarization process, we will use the xcnotary tool https://github.com/akeru-inc/xcnotary.
We need to provide the Apple Developer account and a keychain item containing the developer password. It can be setup by using xcrun notarytool store-credentials tool as explained in https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/customizing_the_notarization_workflow#3087734

@demarey
Copy link
Contributor Author

demarey commented Apr 13, 2022

done

@demarey demarey closed this as completed Apr 13, 2022
@Bajger Bajger moved this from In progress to Done in dev Jun 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
dev
Done
Development

No branches or pull requests

1 participant