You can also find older version of this tutorial on Stack overflow which I answered Here
First of all login into your developers account – https://developer.apple.com/account/
you will be redirected to following screen, Click on “Certificates”.
Step 1 : Click “+” button
Step 2 : Select “Apple Push Notification service SSL (Production)” and click “Continue”
Step 4: Follow the steps under “About Creating a Certificate Signing Request (CSR)” for Creating Certificate Signing Request
In addition to the instructions provided by Apple, Here are some additional screenshots to guide you creating required certificate.
Step 4.1 Select “Request a Certificate From a Certificate Authority” by navigating “Certificate Assistance” from toolbar options for keychain.
Step 4.2 Fill the required certificate Info. – select “Saved to disk” and select “Continue”
Step 5: Upload “.certSigningRequest” file which was generated (in Step 4), then click “Generate”.
Step 6: Now Click “Done” to finish the registration,the page will be refreshed and you will see this screen
Then Click “Download” button to download the certificate (.cer file) you’ve created just now and then double click the downloaded file to install the certificate into Keychain Access on your Mac.
Step 7: Now go to “Keychain” on you mac system, look for the certificate you have just installed. If you are unsure which certificate is the correct , it should start with “Apple Production IOS Push Services”and followed by app’s bundleID.
Step 8: Expand the certificate, you should see the private key with either your name or your company name. Select both items by using the “Select” key on your keyboard, right click (or cmd-click if you use a single button mouse), choose “Export 2 items”, like Below:
Then save the p12 file with name “pushcert.p12″ to your Desktop – now you will be prompted to enter a password to protect it, you can either click Enter to skip the password or enter a password you desire.
Step 9: Now the most difficult part – open “Terminal” on your Mac, and run the following commands
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts
Step 10: Remove pushcert.p12 from Desktop to avoid mis-uploading it to Build Your Own area. Open “Terminal” on your Mac, and run the following commands:
Okay then, we are done with this tutorial. we successfully generated .pem file, If you find any difficulties generating .pem please do comment and we will be happy to help.