This short record covers iOS certificate types and typical situations where you can use them. Nothing is really new here but it's just good to have it nearby. Also you will find steps to generate certificates with the help of openssl.

Production Certificate
Ad Hoc Distribution Provisioning Test finished application among beta testers.
Ad Hoc application is dead.
App Store Distribution Provisioning Publish application in the app store.
App Store application is alive.
Development Certificate
Development Provisioning Test development build on devices.
Ad Hoc application is dead.

I'm not sure if it is possible to mix development and production certificates and provisioning file. It doesn't make any sense.

Sign request

Often you need to generate sign request from Windows or Unix machine and use it in apple developer's area. This can be easily done with the help of OpenSSL library. I assume you have OpenSSL installed. Type in the command line:

openssl genrsa -out "iOS Distribution.key" 2048

This will generate your private key. Don't lose it. Now type next command to generate sign request:

openssl req -new -key "iOS Distribution.key" -out "iOS Distribution.csr" 
    -subj "/C=RU/CN=KAVOLORN.RU/"

Now you have .csr file which you can use in apple developer's portal. Don't forget to put your own values in the command.


Once you have uploaded sign request and downloaded certificate from apple's site you will have .cer certificate file. When I develop apps with Adobe AIR I need .p12 certificate. Here are steps to convert .cer file to .p12 file:

openssl x509 -in "iOS Distribution.cer" -inform DER 
    -out "iOS Distribution.crt" -outform PEM 
openssl pkcs12 -export -inkey "iOS Distribution.key" -in "iOS Distribution.crt" 
    -out "iOS Distribution.p12"

Thats all.. Quite simple :)