Overview
Certificates are used to sign your apps and establish your identity as a developer. Thecertificates command provides full lifecycle management of signing certificates in App Store Connect.
List Certificates
List all certificates or filter by type:Pagination Options
--limit- Results per page (1-200)--next- Fetch next page using alinks.nextURL--paginate- Automatically fetch all pages
Get Certificate Details
Retrieve a specific certificate by ID:Certificate Types
iOS Certificate Types
Development:- Used for: Running apps on devices during development
- Profile types: IOS_APP_DEVELOPMENT
- Limit: Multiple per account
- Used for: App Store, Ad Hoc, and Enterprise distribution
- Profile types: IOS_APP_STORE, IOS_APP_ADHOC, IOS_APP_INHOUSE
- Limit: 3 active per account
tvOS Certificate Types
TVOS_DEVELOPMENT- tvOS developmentTVOS_DISTRIBUTION- tvOS distribution
macOS Certificate Types
Mac App Development:- Used for: macOS development
- Used for: Mac App Store distribution
- Used for: Apps distributed outside the Mac App Store
- Enables notarization
- Used for: Signing installer packages (.pkg) for distribution outside Mac App Store
Specialized Certificate Types
DEVELOPER_ID_KEXT- Kernel extensions (deprecated on modern macOS)PASS_TYPE_ID- Wallet passes and Apple PayPASS_TYPE_ID_WITH_NFC- Wallet passes with NFCMAC_INSTALLER_DISTRIBUTION- Mac App Store installer packages
Create Certificate
Create a new signing certificate:Generate CSR (Certificate Signing Request)
Before creating a certificate, generate a CSR:CSR Requirements
- Key size: 2048-bit RSA minimum
- Format: PEM-encoded PKCS#10
- Common Name: Any descriptive name
- The CLI accepts CSR files in PEM format or base64-encoded
Update Certificate
Enable or disable a certificate:Revoke Certificate
Permanently revoke a certificate:- Invalidates all provisioning profiles using this certificate
- Cannot be re-enabled
- Counts against your certificate limit until it expires
- Private key is compromised
- Certificate is no longer needed
- Replacing with a new certificate
Certificate Relationships
View related resources for pass type certificates:Complete Example Workflows
Create iOS Distribution Certificate
Rotate Distribution Certificate
Development Certificate Setup
Mac Developer ID Certificate
Certificate Export and Backup
Export from Keychain
Import on Another Machine
Certificate Limits
Apple imposes limits on active certificates:| Certificate Type | Limit |
|---|---|
| iOS Development | Unlimited |
| iOS Distribution | 3 per account |
| Mac App Development | Unlimited |
| Mac App Distribution | 3 per account |
| Developer ID Application | 5 per account |
| Developer ID Installer | 5 per account |
Troubleshooting
Certificate Limit Reached
Invalid CSR Format
Private Key Not Found
- Export the certificate and private key from the original machine as .p12
- Import the .p12 on your current machine
- Or create a new certificate with a CSR generated on your current machine
Certificate Shows as Invalid
Check certificate status:certificateType, expirationDate, and related attributes.
Common issues:
- Certificate expired (valid for 1 year)
- Certificate was revoked
- Private key missing from keychain
