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

Consider using rust implementation of notarization tool #264

Open
netomi opened this issue Nov 6, 2023 · 5 comments · May be fixed by #278
Open

Consider using rust implementation of notarization tool #264

netomi opened this issue Nov 6, 2023 · 5 comments · May be fixed by #278

Comments

@netomi
Copy link
Contributor

netomi commented Nov 6, 2023

The project https://github.com/indygreg/apple-platform-rs is a rust implementation of various apple related tools.
This includes codesigning and notarization.

Investigate if we can utilize that library to do the notarization which would allow us to deploy the service in the okd cluster.

@mbarbero
Copy link
Member

mbarbero commented Nov 6, 2023

That would be amazing!

@netomi
Copy link
Contributor Author

netomi commented Nov 6, 2023

To notarize and staple, you’ll need an App Store Connect API Key to authenticate connections to Apple’s servers.

You can generate one at https://appstoreconnect.apple.com/access/api.

@netomi
Copy link
Contributor Author

netomi commented Nov 20, 2023

If someone can generate me such an api key I can start working on that. In oder to create the api key you need to login to the Apple Developer Account via the url above.

@netomi
Copy link
Contributor Author

netomi commented Nov 20, 2023

I could successfully notarize an app with the rcodesign binary and retrieve the notarization log.
The tool itself does not print relevant information like the notarytool (i.e. in plist format which can be easily parsed), but we can parse the information from the output for the start which is provided in a freeform style. I would suggest to provide a POC using this tool and also work on patches for the project to dump the information in a more structured way for processing of the output.

Furthermore, there is no good replacement for the info command. There is a wait command that you can run with max wait time of 1s which will also give you the notary log if the notarization succeeded, but counterpart for info would be handy though not mandatory.

@netomi netomi linked a pull request Dec 6, 2023 that will close this issue
@netomi
Copy link
Contributor Author

netomi commented Dec 6, 2023

Created an issue at the upstream repo to discuss potential changes that would make the integration easier: indygreg/apple-platform-rs#120

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants