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

[match] Add support for Developer ID certificates from G2 Sub-CA #20145

Merged
merged 2 commits into from May 18, 2022

Conversation

triplef
Copy link
Contributor

@triplef triplef commented Apr 4, 2022

Checklist

  • I've run bundle exec rspec from the root directory to see all new and existing tests pass
  • I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
  • I've read the Contribution Guidelines
  • I've updated the documentation if necessary.

Motivation and Context

Developer ID certificates can now be generated using one of two different intermediary CAs, and Fastlane currently doesn’t support the newer G2 Sub-CA. Following is the description from the certification creation page on the Apple Developer portal when selecting "Developer ID Application":

Certificates issued from the Developer ID G2 intermediary certificate authority (Sub-CA) are supported by Xcode 11.4.1 or later. If you need to sign software for distribution on an earlier release, you can create a certificate associated to the previous Sub-CA and turn off Automatic Signing in Xcode. Any certificates created after Feb 01, 2022 and associated to the previous Sub-CA will expire on Feb 01, 2027.

Description

  • Adds a new DEVELOPER_ID_APPLICATION_G2 certificate type
  • Updates match and sigh to find Developer ID certificates using this new type
  • Updates cert to generate Developer ID certificates using this new type

I used match to generate and find a new Developer ID certificate.

@google-cla
Copy link

google-cla bot commented Apr 4, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

For more information, open the CLA check for this pull request.

@CaseyCw1

This comment was marked as spam.

@triplef
Copy link
Contributor Author

triplef commented Apr 6, 2022

Thanks! Btw. the CLA is signed.

Copy link
Member

@joshdholtz joshdholtz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making this! Did you happen to test this to see how this behaves with App Store Connect API?

The official docs don't show this as a value (yet) - https://developer.apple.com/documentation/appstoreconnectapi/certificatetype

I don't think you can create a Developer ID while using the API Key but wanted to check anyway 🙃

@triplef
Copy link
Contributor Author

triplef commented Apr 13, 2022

Thanks for your feedback @joshdholtz!

Could you give me a hint how to test this with the ASC API? It’s a bit tricky to test this as you can only have one Developer ID cert, and I think you can’t even revoke it. Any guidance how to deal with this would be appreciated.

Copy link
Member

@joshdholtz joshdholtz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great! I tested this with both Apple ID auth and API Key and works as expected 💪 I also added a commit so that it will still list cert of both the new and old type but will only create the new one.

Really appreciate the contribution 🥰

@joshdholtz joshdholtz merged commit c76ef61 into fastlane:master May 18, 2022
Copy link

@fastlane-bot fastlane-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulations! 🎉 This was released as part of fastlane 2.206.0 🚀

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

Successfully merging this pull request may close these issues.

None yet

4 participants