Certificate Creation Workflow
What are Certificate used for?
Certificate are used to uniquely associate an App to a Developer.
Reversely, Developers use their Certificate to ensure the App is theirs.
Certificate creation entails the use of a Private Key
What is a Private Key?
A Private Key is a unique file that an entity (Developer, business, etc.) uses to identify themselves.
Anybody who has the Private Key can pretend to be the entity that owns it.
A Private key could be compared to a really secure signature, a better metaphor would be somebody's fingerprint. Fingerprint uniquely identify an individual.
To be uniquely identified an entity (Developer, business, etc.) will use their Private Key to sign a file.
Where are Private Key
Private keys are generated using Keychain Access, a Mac OS app.
The keys are both generated AND stored in your Keychain.
How are Private Key Used?
Apple uses a Developer's Private Key to uniquely identify that Developer and use that key to create a Certificate which will certify that the Application submitted is indeed from that Developer.
To get a Certificate create the Developer creates a Certificate Signing Request (CSR) using their Private Key from their Keychain.
That CSR is then sent to Apple.
Apple takes that CSR and signs it using their Private Key.
The outcome of this process is the Certificate.
What is a Certificate
Therefore a Certificate is a file containing the unique keys from both the Developer AND Apple.
It is uniquely signed by BOTH entities.
A Certificate is a file certifying that the Developer is who he says he is with the Appeal 'seal of approval'
How are Certificate used?
After creating the Certificate, Apple sends it back to the Developer (EachScape User).
To sign their app a Developer will use:
- Their Private Key (the same key initially used to create the Certificate)
- The Certificate received from Apple which is signed by Apple Private Key
That combination will allow Apple, using the Certificate and their Private Key, to verify that the App was indeed signed by the Developer.
Certificate are mandatory.
It is how Apple controls the app installed for testing purpose on Developer devices.
It is also how Apple ensure the tracability of the Apps on the App Store.