Salta al contenuto principale

Firma Apple

Generatore di certificati iOS

Crea un certificato di distribuzione o sviluppo iOS senza un Mac. Genera qui il Certificate Signing Request (CSR) e la chiave privata, carica il CSR su Apple e trasforma il certificato emesso in un file .p12 per la firma.

  • Crea un CSR pronto per Apple senza Keychain Access o un Mac, da Windows, Linux o macOS.
  • Funziona con i certificati Apple Distribution (App Store, TestFlight, ad hoc) e Apple Development.
  • Converti il .cer emesso in .p12 direttamente in questa pagina, nel tuo browser, per Xcode, fastlane, CI o Capgo Cloud Build.

Workflow

  1. 1. Inserisci i dettagli del subject del certificato da allegare alla richiesta di firma.
  2. 2. Scarica il CSR e la relativa chiave privata.
  3. 3. Carica il CSR su Apple Developer durante la creazione del certificato.
  4. 4. Converti il .cer emesso e la chiave privata in un .p12 protetto da password al punto 2 qui sotto.

Passo 1

Genera il CSR e la chiave privata

Usa la stessa identità (persona o organizzazione) che vuoi risulti nella richiesta del certificato Apple.

Output

La tua richiesta di firma generata

Non viene mostrato nulla finché il CSR non è generato. Una volta pronto, scarica entrambi i file e conserva la chiave privata in modo sicuro.

Genera una richiesta di certificato per visualizzare qui il riepilogo del subject e i pulsanti di download.

Passaggio 2

Converti il tuo .cer Apple in .p12

Dopo che Apple ha emesso il certificato, combina il .cer con la chiave privata del passaggio 1 per ottenere un .p12 per Xcode, fastlane, CI o Capgo Cloud Build.

Funziona interamente nel tuo browser. Il tuo certificato, la chiave privata e la password vengono letti localmente e non vengono mai caricati su alcun server.

Il file distribution.cer o development.cer da Apple Developer. Sono accettati sia DER che PEM.

Il file ios-private-key.pem scaricato con il CSR che hai caricato su Apple.

Output

La tua identità di firma .p12

Seleziona il file .cer e la chiave privata, imposta una password e genera il .p12. Usa la crittografia 3DES con MAC SHA-1, il formato accettato da macOS Keychain e Xcode.

Nozioni base

Cos'è un certificato di firma iOS?

Apple richiede che ogni app iOS sia code firmata. Un certificato di firma dimostra che la build proviene da un membro del tuo team Apple Developer, e iOS rifiuta di installare o avviare app di cui non può verificare la firma.

Per ottenerne uno servono tre file. Il CSR (.csr) contiene la tua chiave pubblica e la tua identità e va inviato ad Apple. Il chiave privata (.pem) resta con te. Il certificato (.cer) è quello che Apple ti restituisce. Gli strumenti di build avranno poi bisogno del certificato e della chiave privata insieme come .p12 file.

Su Mac, Accesso Portachiavi crea il CSR e nasconde la chiave privata nel tuo login keychain. Questo generator ti fornisce entrambi i file direttamente, così puoi creare un certificato Apple Distribution o Apple Development da Windows, Linux o un runner CI, sapendo sempre dove si trova la chiave.

Sicurezza e privacy

Come viene gestita la tua chiave privata

  • Il CSR e la chiave privata RSA a 2048 bit vengono generati su richiesta da un endpoint stateless di Capgo via HTTPS e inviati direttamente al tuo browser.
  • Le risposte vengono inviate con Cache-Control: no-store. Nulla viene salvato in un database o conservato dopo la risposta.
  • Il CSR è firmato con SHA-256, il formato richiesto da Apple Developer. Solo il CSR viene caricato su Apple; la chiave privata resta a te.
  • Il convertitore da .cer a .p12 gira interamente nel browser. Il tuo certificato, la chiave privata e la password non vengono mai caricati.
  • Non serve alcun account o registrazione, e le richieste sono soggette a rate limit per evitare abusi.

Preferisci generare la chiave localmente? Questo comando OpenSSL produce gli stessi due file.

Comando OpenSSL equivalente
openssl req -new -newkey rsa:2048 -nodes \
  -keyout ios-private-key.pem \
  -out ios-certificate-request.csr \
  -subj "/emailAddress=jane@company.com/CN=Jane Doe/C=US"

Passo dopo passo

Come creare un certificato di distribuzione iOS senza un Mac

Dal CSR a un build firmato su TestFlight. Ogni passaggio funziona via browser o terminale su Windows, Linux o macOS.

  1. Passo 1

    Genera il CSR e la chiave privata

    Inserisci nome, email e il codice paese di due lettere code nel modulo sopra e seleziona Generate CSR and private key. Scarica entrambi i file e conserva la chiave privata al sicuro.

  2. Passaggio 2

    Crea il certificato su Apple Developer

    Accedi a developer.apple.com, apri Certificates, Identifiers & Profiles, seleziona il pulsante plus e scegli Apple Distribution o Apple Development.

  3. Passaggio 3

    Carica il CSR e scarica il .cer

    Fai l'upload del file ios-certificate-request.csr, continua e scarica il certificato emesso, solitamente chiamato distribution.cer o development.cer.

  4. Passaggio 4

    Converti il .cer in un file .p12

    Usa il convertitore da .cer a .p12 al passaggio 2 di questa pagina: seleziona il .cer e la private key, imposta una password e scarica il .p12. Funziona nel browser, oppure usa il comando OpenSSL.

  5. Passaggio 5

    Crea un provisioning profile

    Su Apple Developer, crea un provisioning profile App Store, ad hoc o di sviluppo per il tuo App ID e seleziona il nuovo certificato.

  6. Passaggio 6

    Firma e pubblica la tua app

    Importa il file .p12 e il profilo in Xcode, fastlane, nei segreti della tua CI o in Capgo Cloud Build, poi builda e carica la tua app su TestFlight o sull'App Store.

Usa l'output

Firma la tua app iOS con il .p12

La via più veloce è il convertitore .cer in .p12 via browser sopra. Preferisci la riga di comando? OpenSSL fa lo stesso lavoro; ti chiederà una password di esportazione che diventerà la password del tuo .p12.

Crea il .p12 con OpenSSL

OpenSSL è preinstallato su macOS e sulla maggior parte delle distribuzioni Linux, ed è disponibile su Windows tramite Git Bash o WSL.

Converti da .cer a .p12
# 1. Convert Apple's DER .cer to PEM
openssl x509 -inform DER -in distribution.cer -out distribution.pem

# 2. Bundle the certificate and private key into a .p12
#    -legacy (OpenSSL 3) keeps the file compatible with macOS Keychain.
#    Drop it on OpenSSL 1.1 or LibreSSL, which do not support the flag.
openssl pkcs12 -export -legacy \
  -inkey ios-private-key.pem \
  -in distribution.pem \
  -name "Apple Distribution" \
  -out distribution.p12

Capgo Cloud Build

Salva il .p12 e il provisioning profile una volta, poi build e firma app iOS e Android nel cloud con Capgo.

Capgo CLI
bunx @capgo/cli@latest build credentials save \
  --platform ios \
  --certificate ./distribution.p12 \
  --p12-password "your-p12-password" \
  --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \
  --apple-team-id "TEAM123456"

fastlane e Xcode

Su un Mac, fai doppio clic sul file .p12 per importarlo in Keychain e Xcode lo riconoscerà. Su un runner CI, importalo in un keychain temporaneo tramite fastlane.

Fastfile
import_certificate(
  certificate_path: "distribution.p12",
  certificate_password: ENV["P12_PASSWORD"],
  keychain_name: "build.keychain",
  keychain_password: ENV["KEYCHAIN_PASSWORD"]
)

Secret CI e controlli delle chiavi

Codifica i file di firma per i segreti di GitHub Actions o GitLab e verifica che il certificato corrisponda alla chiave privata.

base64 e OpenSSL
# Encode the .p12 and profile for CI secrets
base64 -i distribution.p12 | tr -d '\n' > p12.base64
base64 -i profile.mobileprovision | tr -d '\n' > profile.base64

# Check that the certificate and key match (both hashes must be equal)
openssl x509 -noout -modulus -in distribution.pem | openssl md5
openssl rsa -noout -modulus -in ios-private-key.pem | openssl md5

Risoluzione problemi

Errori comuni dei certificati iOS e soluzioni

La password inserita è errata (importazione Keychain)
OpenSSL 3 cripta i file .p12 con algoritmi che macOS Keychain potrebbe rifiutare. Re-esporta il .p12 con OpenSSL 3 e il flag -legacy mostrato sopra.
Nessun certificato corrisponde alla chiave privata
Il file .cer è stato emesso per un CSR differente. Usa la chiave privata scaricata con quel CSR specifico, oppure revoca il certificato e ricomincia con un nuovo CSR.
impossibile caricare i certificati
Apple fornisce i file .cer in formato DER. Aggiungi -inform DER quando converti il .cer con openssl x509.
Il provisioning profile non include il certificato di firma
I profili sono legati a certificati specifici. Modifica o rigenera il provisioning profile dopo aver creato il nuovo certificato, quindi scaricalo di nuovo.
Hai raggiunto il numero massimo di certificati
Apple limita il numero di certificati di distribuzione per team. Revoca quelli non utilizzati in Apple Developer. Le app live sull'App Store non ne risentono.
Il certificato non è affidabile nel Keychain
Installa l'attuale certificato intermedio Apple Worldwide Developer Relations (WWDR) da Apple PKI, quindi importa nuovamente il file .p12.

Dopo la firma

Rilascia fix web senza attendere l'approvazione degli store

Una volta firmato il binario nativo, i Capgo live updates possono distribuire Capacitor modifiche al web layer over the air: canali, rollback e qualsiasi CI/CD già in uso. Prova gratuitamente quando sei pronto a integrare l'OTA nello stesso flusso di rilascio.

FAQ

FAQ sul generatore di certificati iOS

Risposte su CSR, tipi di certificato, conversione .p12, account Apple Developer e l'uso dei certificati in CI o cloud build.

Cosa crea questo generatore di certificati iOS?

Crea una Certificate Signing Request (.csr) e la relativa chiave privata RSA a 2048 bit (.pem). Carica la CSR su Apple Developer per ottenere il tuo certificato Apple Distribution o Apple Development (.cer), poi combina il .cer con la chiave privata in un file .p12 per Xcode, fastlane, CI o Capgo Cloud Build.

Cos'è una Certificate Signing Request (CSR)?

Una CSR è un piccolo file che contiene la tua chiave pubblica e i dettagli della tua identità (nome, email, paese), firmata con la tua chiave privata. Apple la usa per emettere un certificato di firma associato a quella chiave. La chiave privata non viene mai inviata ad Apple, motivo per cui devi conservare il file .pem che questo tool ti fornisce.

Posso creare un certificato di distribuzione iOS senza un Mac?

Sì. Genera qui la CSR e la chiave privata, carica la CSR nel portale Apple Developer da qualsiasi browser, scarica il file .cer e convertilo in .p12 usando il converter al punto 2 di questa pagina. Funziona su Windows, Linux o macOS, quindi non è necessario usare Keychain Access in nessuna fase.

Quale tipo di certificato devo scegliere su Apple Developer?

Scegli Apple Development per eseguire build su dispositivi di test registrati tramite Xcode. Scegli Apple Distribution per firmare build per l'App Store, TestFlight e distribuzione ad hoc. La stessa CSR va bene per entrambi i tipi; il tipo viene selezionato su Apple Developer, non in questo tool.

La chiave privata viene salvata sul server?

No. Al punto 1, la CSR e la chiave privata vengono generate on-demand da un endpoint Capgo stateless via HTTPS e restituite direttamente al tuo browser con Cache-Control: no-store; non vengono mai scritte in un database né conservate dopo la risposta. Al punto 2, il converter da .cer a .p12 viene eseguito interamente nel tuo browser e non effettua alcun upload. Se la tua policy richiede la generazione locale della chiave, usa il comando OpenSSL equivalente presente in questa pagina.

Perché devo convertire il file .cer in .p12?

Il file .cer fornito da Apple contiene solo il certificato pubblico. Per firmare un'app serve anche la chiave privata, quindi i tool di build si aspettano un file .p12 che includa certificato e chiave privata protetti da password.

Come converto un .cer in .p12?

Usa il passaggio 2 di questa pagina: seleziona il .cer di Apple (DER o PEM), seleziona la chiave privata .pem usata per il CSR, inserisci una password e seleziona Build .p12 file. Il browser verifica che il certificato corrisponda alla chiave e genera un .p12 criptato con 3DES accettato da macOS Keychain, Xcode e fastlane. Nulla viene caricato. Puoi anche copiare il .p12 in base64 per i segreti della CI.

Serve un account Apple Developer?

Sì. Per caricare un CSR e generare certificati di firma è necessario un abbonamento a pagamento al Apple Developer Program (99 USD all'anno, o il programma Enterprise per la distribuzione interna). Il CSR può essere generato anche senza account.

Quanto dura un certificato di firma iOS?

I certificati Apple Development e Apple Distribution sono validi un anno. Le app già presenti sull'App Store continuano a funzionare anche se il certificato scade o viene revocato, ma servirà un nuovo certificato e un provisioning profile per firmare il prossimo build.

Posso riutilizzare lo stesso CSR o la stessa chiave privata?

Puoi farlo, ma una nuova coppia di chiavi per ogni certificato è più sicura e facile da ruotare. L'errore da non commettere è mescolarle: un .cer funziona solo con la chiave privata esatta che ha generato il suo CSR. Se perdi la chiave, revoca il certificato e genera un nuovo CSR.

Posso usare questo CSR per i certificati delle notifiche push (APNs)?

Sì. Anche Apple richiede un CSR quando crei un certificato SSL per APNs. Per le nuove app, una chiave di autenticazione APNs (.p8) è solitamente più semplice perché non scade mai e funziona per tutte le tue app.

Capgo Native Build

Build e firma di app iOS e Android nel cloud con Capgo

Carica il .p12 e il provisioning profile creati con questo tool, avvia le release build dalla CI e pubblica su TestFlight o App Store senza dover gestire la tua build farm.

Esplora Native Build