How to create Certificate for iOS
To publish or build your iOS app with QuikApp, you need files from your Apple Developer Account and optionally App Store Connect API keys (for TestFlight uploads).
Team ID
How to get Team ID
Certificate Setup
Fresh Certificate (New Setup)
Case 1: Fresh Certificate (New Setup)
1. Generate CSR (Certificate Signing Request)
On macOS:
- Open Keychain Access → Menu → Certificate Assistant → Request a Certificate From a Certificate Authority…
- Enter: User Email Address (Apple ID email). Common Name (e.g., “QuikApp Distribution”)
- Select Saved to disk.
- Save as: CertificateSigningRequest.certSigningRequest
On Windows:
- Use OpenSSL to generate CSR (alternative to Keychain).est
openssl req -new -newkey rsa:2048 -nodes -keyout ios_private_key.key -out CertificateSigningRequest.certSigningRequest
2. Create New Certificate in Apple Developer Portal
- Log in to Apple Developer Account.
- Go to Certificates, Identifiers & Profiles → Certificates.
- Click + Add → Select Apple Distribution.
- Upload the CSR file you generated.
- Apple generates a new certificate → Download .cer.
3. Import Certificate into Keychain Access (Mac)
- Double-click the downloaded .cer → it will install in Keychain Access under My Certificates.
- The private key (from CSR) is automatically paired with the certificate.
4. Export Certificate as .p12
- In Keychain Access, go to My Certificates.
- Find the newly installed Apple Distribution certificate.
- Right-click → Export.
- Choose format: .p12 (Personal Information Exchange).
- Set a password (secure; you’ll need it later).
- Save file: ios_distribution.p12.
Upload to QuikApp
- Upload .p12 file + password to QuikApp → Certificates section.
Already Present Certificate (Existing Setup)
Case 2: Already Present Certificate (Existing Setup)
If you already have a Distribution Certificate installed in your Keychain:
- Locate Certificate
- Open Keychain Access → My Certificates.
- Look for Apple Distribution certificate with private key.
- Export as .p12
- Right-click certificate → Export.
- Choose format .p12.
- Set a password (needed when uploading).
- Save file: ios_distribution_existing.p12.
- Upload to QuikApp
- Upload existing .p12 + password into QuikApp.
Notes
- Option A (P12 Flow) is recommended because:
- Everything (certificate + private key) is bundled into one secure .p12 file.
- Simpler for automation and CI/CD (e.g., Codemagic, QuikApp).
- Keep backup copies of .p12 in a secure vault (e.g., 1Password, Keychain, Bitwarden).
- You can reuse the same .p12 across multiple Macs/Windows machines.
Fresh Certificate (New Setup)
Case 1: Fresh Certificate (New Setup)
On Windows:
- Generate CSR (Certificate Signing Request)
- Open PowerShell or Command Prompt (with OpenSSL installed).
- Run:
openssl req -new -newkey rsa:2048 -nodes -keyout ios_private_key.key -out CertificateSigningRequest.certSigningRequest
- This creates two files:
- ios_private_key.key → private key (keep safe).
- CertificateSigningRequest.certSigningRequest → CSR file.
- Apple generates a new certificate → Download .cer.
Create Certificate in Apple Developer Portal
- Log in: https://developer.apple.com/account
- Go to Certificates, Identifiers & Profiles → Certificates
- Click ➕ Add → Select Apple Distribution.
- Upload the CSR (CertificateSigningRequest.certSigningRequest).
- Download the generated ios_distribution.cer.
Generate Private Key with OpenSSL
- If not already created from CSR step, run in Terminal:
- Produces ios_private_key.key.
openssl genrsa -out ios_private_key.key 2048
Upload to QuikApp
- ios_distribution.cer
- ios_private_key.key
On macOS:
Generate CSR (Certificate Signing Request)
- Open Keychain Access → Menu → Certificate Assistant → Request a Certificate from a Certificate Authority…
- Enter: User Email Address (Apple ID email). Common Name (e.g., “QuikApp Distribution”)
- Save as CertificateSigningRequest.certSigningRequest.
- You can also use OpenSSL on macOS if preferred.
Create Certificate in Apple Developer Portal
- Log in: https://developer.apple.com/account
- Navigate: Certificates, Identifiers & Profiles → Certificates.
- Click +Add → Choose Apple Distribution.
- Upload the CSR.
- Download generated ios_distribution.cer.
Generate Private Key with OpenSSL
- If not already created from CSR step, run in OpenSSL installed Command Prompt:
openssl genrsa -out ios_private_key.key 2048
Produces ios_private_key.key.
4.Upload to QuikApp
Upload ios_distribution.cer + ios_private_key.key.
Already Present Certificate (Existing Setup)
Case 2: Already Present Certificate (Existing Setup)
Download Existing Distribution Certificate
- Log in to https://developer.apple.com/account.
- Navigate to Certificates → All Certificates.
- Locate your existing Apple Distribution certificate.
- Download: ios_distribution.cer.
Generate Private Key (if not backed up earlier)
- If you still have the original .key file from CSR generation → reuse it.
- If you don’t have the private key anymore, you must create a new certificate (Apple does not allow regenerating .key).
- Example command (if re-generating fresh CSR):
openssl genrsa -out ios_private_key.key 2048
Upload to QuikApp
- Upload ios_distribution.cer + matching ios_private_key.key.
Download Existing Distribution Certificate
- Log in to https://developer.apple.com/account.
- Go to Certificates → All Certificates.
- Find yiyr Apple Distribution certificate → Download iOS_distribution_cer.
Check for Matching Private Key in Keychain
- Open Keychain Access → My Certificates.
- If certificate + private key pair is already present → you can export to .p12 (Option A) OR extract .key with OpenSSL.
- If private key is missing , you must create new certificate (Apple won’t let you recover private key).
Generate Private Key with OpenSSL (if needed)
openssl genrsa -out ios_private_key.key 2048
Upload to QuikApp
- Upload ios_distribution.cer + matching ios_private_key.key.
- The .key file is only for Manual Flow (Option B).
- If you lose the private key, the certificate becomes unusable → you must generate a new CSR + new certificate.
- Keep .key in secure storage (password manager, encrypted vault)
