.p12 Certificate
Setup
- To do the setup of remote push notification service you will need to setup one of the below thing.
- .p12 Certificate (Refer this documentation)
- OR p8 Token-Based Connection to APNs
Step 1. Requirements
- An iOS mobile app. (This is not for websites / web push)
- An Apple Developer Account with Admin Role.
- A Mac computer with Xcode 11+
- Your Xcode project should have the Push Notification capability added. Otherwise your project may not be shown in the Apple Developer Center.
Step 2. Identifier/ Provisioning
🚧 Deprecated Provisionator.
We have deprecated the Provisionator tool and recommend updating your application to instead use a .p8 token to connect to APNs.
If you would still like to use the .p12 certificate, you can continue following this guide to generate your certificate.
We have deprecated the Provisionator tool and recommend updating your application to instead use a .p8 token to connect to APNs.
If you would still like to use the .p12 certificate, you can continue following this guide to generate your certificate.
- If you are renewing a certificate or your app already has an existing App ID or Provisioning Profile, skip to Step 3. Generate a Push Certificate.
- If your App does not have an existing App ID or Provisioning Profile setup, then login to your Apple Developer Account and navigate to Certificates, Identifiers & Profiles->Identifiers and select the Blue + button.

- Select App IDs and Continue

- Select App and Continue

- Provide a "Description" and your Explicit "Bundle ID". This must be the same as the "Bundle Identifier" you set for your project in Xcode.

- Press Continue and on the next page, select Register
Step 3. Generate a Push Certificate
🚧 Previous Certificate Revocation
Previous .p12 Push Certificates for this Bundle ID will be revoked and cannot be used once you generate a new certificate with this method.
Previous .p12 Push Certificates for this Bundle ID will be revoked and cannot be used once you generate a new certificate with this method.
Request a Certificate From a Certificate Authority
- Open the Keychain Access App on your macOS system. It may be located in Applications > Utilities > Keychain Access
- Select Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority...

- Next, select the Saved to disk option and enter your information in the required fields. Then click Continue.
- This creates a certification request file that will be used later.
Add Capabilities
- In your Apple Developer Account under Certificates, IDs & Profiles > Identifiers, select Identifiers.
- Find and select your Identifier to enable Push Notifications, but do not click Configure.
- If you do not see your Identifier, follow Step 2. Identifier/ Provisioning.
Select Push Notification Certificate
- Go to Certificates and create a new certificate by clicking the blue + (plus) button.
- Under Services, select Apple Push Notification service SSL (Sandbox & Production) and click Continue.
- The certificate will be applicable to both Sandbox and Production environments, so you do not need a separate key for each one.

Select your App
- Choose your App ID with matching Bundle ID from the App ID pop-up menu, and click Continue.

Upload your Certificate Signing Request
- Click Choose File.., select the CertSigningRequest file you saved, click Open, and then click Continue.

- Click Download to save the certificate to your computer.

Creating a Private Key
- Open the .cer file you downloaded in the last step by double-clicking on it in Finder.

- After a few seconds, the Keychain Access program should open. Select Login > My Certificates, then right-click on your Apple Push Services key in the list and select Export "Apple Push Services...".

- Give the file a unique name using the .p12 extension, and click Save. You will have the option to protect the file with a password.
Step 4. Provisioning Profiles
- Skip if selected "Automatically manage signing" in Xcode.
- If you did not select "Automatically manage signing", then follow these steps.
Create Your Profile
- Go to your Apple Developer Account > Certificates, Identifiers & Profiles > Profiles.

- Next find any that are for your app and remove them if they do not have App Groups and Push Notifications in Enabled Capabilities:

- Create a Profile by pressing the "+" button

- Select the type of profile you need to create and press Continue.

- Select the Development or Distribution Certificate to associate with the Profile. Then click Continue.

- Name your Provisioning Profile.
Best Practices
When creating a new profile, make sure to enter a unique name in the "Provisioning Profile Name:" field. For example, if you are creating an Ad-Hoc Provisioning Profile to test push notifications with a Production Push Certificate .p12 file. Use the format AppName_AdHoc so you know the app and type of profile that it is.
When creating a new profile, make sure to enter a unique name in the "Provisioning Profile Name:" field. For example, if you are creating an Ad-Hoc Provisioning Profile to test push notifications with a Production Push Certificate .p12 file. Use the format AppName_AdHoc so you know the app and type of profile that it is.
- Select Generate.
- On the last page Download your profile.
- Re-sync your Developer Account in Xcode by going to Xcode > Preferences... then click on the "View Details..." button. Then, click the refresh button on the bottom left of the popup. See Apple's documentation for more detailed instructions.
- Make sure you pick your new provisioning profile from Build Settings>Code Signing>Provisioning Profile in Xcode.