Proper way to renew distribution certificate for iOS

IphoneIosApp StoreApp Store-ConnectIos Provisioning

Iphone Problem Overview


My distribution certificate is expiring on June 7th, along with all of my provisioning files. How do I properly renew it? Should I revoke it now and request a new one? If I do that than will all my live apps be taken down?

Iphone Solutions


Solution 1 - Iphone

Your live apps will not be taken down. Nothing will happen to anything that is live in the app store.

Once they formally expire, the only thing that will be impacted is your ability to sign code (and thus make new builds and provide updates).

Regarding your distribution certificate, once it expires, it simply disappears from the ‘Certificates, Identifier & Profiles’ section of Member Center. If you want to renew it before it expires, revoke the current certificate and you will get a button to request a new one.

Regarding the provisioning profile, don't worry about it before expiration, just keep using it. It's easy enough to just renew it once it expires.

The peace of mind is that nothing will happen to your live app in the store.

Solution 2 - Iphone

When your certificate expires, it simply disappears from the ‘Certificates, Identifier & Profiles’ section of Member Center. There is no ‘Renew’ button that allows you to renew your certificate. You can revoke a certificate and generate a new one before it expires. Or you can wait for it to expire and disappear, then generate a new certificate. In Apple's App Distribution Guide:

> Replacing Expired Certificates > > When your development or distribution certificate expires, remove it > and request a new certificate in Xcode.

When your certificate expires or is revoked, any provisioning profile that made use of the expired/revoked certificate will be reflected as ‘Invalid’. You cannot build and sign any app using these invalid provisioning profiles. As you can imagine, I'd rather revoke and regenerate a certificate before it expires.

> Q: If I do that then will all my live apps be taken down?

Apps that are already on the App Store continue to function fine. Again, in [Apple's App Distribution Guide][2]:

> Important: Re-creating your development or distribution certificates > doesn’t affect apps that you’ve submitted to the store nor does it > affect your ability to update them.

So…

> Q: How to I properly renew it?

As mentioned above, there is no renewing of certificates. Follow the steps below to revoke and regenerate a new certificate, along with the affected provisioning profiles. The instructions have been updated for Xcode 8.3 and Xcode 9.

Step 1: Revoke the expiring certificate

Login to Member Center > Certificates, Identifiers & Profiles, select the expiring certificate. Take note of the expiry date of the certificate, and click the ‘Revoke’ button.

[![Select the expiring certificate and click the Revoke button][3]][3]

Step 2: (Optional) Remove the revoked certificate from your Keychain

Optionally, if you don't want to have the revoked certificate lying around in your system, you can delete them from your system. Unfortunately, the ‘Delete Certificate’ function in Xcode > Preferences > Accounts > [Apple ID] > Manage Certificates… seems to be always disabled, so we have to delete them manually using Keychain Access.app (/Applications/Utilities/Keychain Access.app).

[![Optionally remove the revoked certificate using Keychain Access.app][4]][4]

Filter by ‘login’ Keychains and ‘Certificates’ Category. Locate the certificate that you've just revoked in Step 1.

Depending on the certificate that you've just revoked, search for either ‘Mac’ or ‘iPhone’. Mac App Store distribution certificates begin with “3rd Party Mac Developer”, and iOS App Store distribution certificates begin with “iPhone Distribution”.

You can locate the revoked certificate based on the team name, the type of certificate (Mac or iOS) and the expiry date of the certificate you've noted down in Step 1.

Step 3: Request a new certificate using Xcode

Under Xcode > Preferences > Accounts > [Apple ID] > Manage Certificates…, click on the ‘+’ button on the lower left, and select the same type of certificate that you've just revoked to let Xcode request a new one for you.

[![Let Xcode request a new certificate for you in Xcode > Preferences > Accounts > Apple ID > Manage Certificates…][5]][5]

Step 4: Update your provisioning profiles to use the new certificate

After which, head back to Member Center > Certificates, Identifiers & Profiles > Provisioning Profiles > All. You'll notice that any provisioning profile that made use of the revoked certificate is now reflected as ‘Invalid’.

[![Notice that any provisioning profile that made use of the revoked certificate is now reflected as ‘Invalid’][6]][6]

Click on any profile that are now ‘Invalid’, click ‘Edit’, then choose the newly created certificate, then click on ‘Generate’. Repeat this until all provisioning profiles are regenerated with the new certificate.

[![Choose the newly created certificate, and click on Generate][7]][7]

Step 5: Use Xcode to download the new provisioning profiles

Tip: Before you download the new profiles using Xcode, you may want to clear any existing and possibly invalid provisioning profiles from your Mac. You can do so by removing all the profiles from ~/Library/MobileDevice/Provisioning Profiles

Back in Xcode > Preferences > Accounts > [Apple ID], click on the ‘Download All Profiles’ button to ask Xcode to download all the provisioning profiles from your developer account.

[![Click Download All Profiles for Xcode to download all the newly generated profiles][8]][8]

[2]: https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html#//apple_ref/doc/uid/TP40012582-CH31-SW34 "Re-Creating Certificates and Updating Related Provisioning Profiles" [3]: https://i.stack.imgur.com/j5cpl.png [4]: https://i.stack.imgur.com/TsQb2.png [5]: https://i.stack.imgur.com/dxF7r.png [6]: http://i.stack.imgur.com/Riob5.png [7]: http://i.stack.imgur.com/dKgLJ.png [8]: https://i.stack.imgur.com/4Wsr9.png

Solution 3 - Iphone

As of January 2020 and Xcode 11.3.1 -

  • Open Xcode
  • Open Xcode Preferences (Xcode->Preferences or Cmd-,)
  • Click on Accounts
  • At the left, click on your developer ID
  • At the bottom right, click on Manage Certificates...
  • In the lower left corner, click the arrow to the right of the + (plus)
  • Select Apple Distribution from the menu

Xcode will automatically create an Apple Distribution certificate, install it in Keychain Access, and update Xcode's signing information

(Note: the single Apple Distribution certificate is now provided instead of the previous iOS Distribution certificate and equivalents.)

Solution 4 - Iphone

Very simple was to renew your certificate. Go to your developer member centre and go to your Provisioning profile and see what are the certificate Active and InActive and select Inactive certificate and hit Edit button then hit generate button. Now your certificate successful renewal for another 1 year. Thanks

Solution 5 - Iphone

Hello guys..

I have found the best way to update IOS certificate, With the simple steps. Here everyone can update without any queries.

> IOS certificate update / Certificate Changes Steps :

1) Open a key chain access.

2) Click on the show certificate.

3) Keychain access => certificate assistant => Request a certificate from a certificate authority..

4) Open a devloper console => account => certificate IDS & Profiles.

5) Click on Certificates + icon and create a new => ios Distribution (app store and Ad Hoc). then after click on the continue button.

6) Choose and uploade a certificate => after that download uploaded certificate by click on download button.

7) Then edit certificate and then update latest uploaded certificate.

8) Open a Xcode => click on signing & capablities => Download profile => select profile new uploaded certificate.

> Reference video link https://youtu.be/v19ZoFa1cJs

Solution 6 - Iphone

This was a really a helpful thread, I followed the same steps as @junjie mentioned but for me something weird happened, the below are the steps I did.

  1. Went to developer portal and revoked the certificate which was about to expire.
  2. Went to XCode6.4 and in the Account settings, the certificate still showed valid, I went crazy.
  3. Then I opened XCode7, there the certificate was shown with "Reset" button instead of create and I hit the reset button and later in the portal I was able to see an extended certificate present. This is what Apple says about Reset button

> If Xcode detects an issue with a signing identity, it displays an > appropriate action in Accounts preferences. If Xcode displays a Create > button, the signing identity doesn’t exist in Member Center or on your > Mac. If Xcode displays a Reset button, the signing identity is not > usable on your Mac—for example, it is missing the private key. If you > click the Reset button, Xcode revokes and requests the corresponding > certificate.

  1. I tried creating an Appstore ipa with that, just to test and it worked fine so I am saved, but still not sure what has happened. May be I had multiple accounts configured in my Mac, dont know.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser1413558View Question on Stackoverflow
Solution 1 - IphoneAndy ObusekView Answer on Stackoverflow
Solution 2 - IphonejunjieView Answer on Stackoverflow
Solution 3 - IphoneleanneView Answer on Stackoverflow
Solution 4 - IphoneShanmugasundharamView Answer on Stackoverflow
Solution 5 - IphoneRahul MakwanaView Answer on Stackoverflow
Solution 6 - Iphoneanoop4realView Answer on Stackoverflow