Salta al contenuto principale

Autenticazione Apple

Generatore di certificato iOS

Creare un certificato di distribuzione o di sviluppo iOS senza un Mac. Generare la richiesta di firma del certificato (CSR) e la chiave privata qui, caricare la CSR su Apple, e trasformare il certificato rilasciato in un file .p12 per la firma.

  • Creare una CSR pronta per Apple senza l'accesso a Keychain o un Mac, da Windows, Linux o macOS.
  • Funziona per certificati di distribuzione Apple (App Store, TestFlight, ad hoc) e certificati di sviluppo Apple.
  • Converti il certificato .cer emesso in .p12 direttamente su questa pagina, nel tuo browser, per Xcode, fastlane, CI o Capgo Cloud Build.

Flusso di lavoro

  1. 1. Dettagli soggetto del certificato da inserire nella richiesta di firma.
  2. 2. Scarica il CSR e la chiave privata corrispondente.
  3. 3. Carica il CSR in Apple Developer quando si crea il certificato.
  4. 4. Converti il certificato .cer e la chiave privata in un .p12 protetto da password nel passo 2 di seguito.

Passo 1

Genera il CSR e la chiave privata

Utilizza la stessa identità di persona o organizzazione che desideri rappresentare nella richiesta di certificato Apple.

Output

La tua richiesta di firma generata

Niente viene mostrato fino a quando non viene generato il CSR. Una volta pronto, scarica entrambi i file e conserva la chiave privata in modo sicuro.

Genera una richiesta di certificato per visualizzare la sintesi del soggetto e i pulsanti di download qui.

Passo 2

Converti il tuo Apple .cer in .p12

Dopo che Apple emette il tuo certificato, combina il .cer con la chiave privata dal passo 1 per ottenere una password protetta .p12 per Xcode, fastlane, CI o Capgo Cloud Build.

Esegue interamente nel tuo browser. La tua certificazione, la chiave privata e la password vengono lette localmente e mai inviate 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 inviato a Apple.

Output

La tua identità di firma .p12

Seleziona il tuo .cer e la chiave privata, imposta una password e costruisci il .p12. Utilizza l'encryption 3DES con un MAC SHA-1, il formato accettato da Keychain macOS e Xcode.

Basi

Cos'è un certificato di firma iOS?

Apple requires every iOS app to be code signed. A signing certificate proves the build comes from a member of your Apple Developer team, and iOS refuses to install or launch apps whose signature it cannot trust.

Ottenere uno richiede tre file. Il CSR (.csr) contiene la tua chiave pubblica e identità e va a Apple. Il chiave privata (.pem) rimane con te. Il certificato (.cer) è ciò che Apple rilascia di ritorno. I tool di costruzione richiedono poi il certificato e la chiave privata insieme come .p12 file.

On a Mac, Keychain Access creates the CSR and hides the private key in your login keychain. This generator gives you both files directly, so you can create an Apple Distribution or Apple Development certificate from Windows, Linux, or a CI runner, and you always know where the key is.

Sicurezza e riservatezza

Come viene gestito il tuo chiave privata

  • Il CSR e la chiave privata RSA 2048-bit vengono creati su richiesta da un endpoint senza stato Capgo tramite HTTPS e restituiti direttamente al tuo browser.
  • Risposte sono inviate con Cache-Control: no-storeNiente viene salvato in una banca dati o conservato dopo la risposta.
  • Il CSR è firmato con SHA-256, il formato che Apple Developer attende. Solo il CSR viene caricato su Apple; la chiave privata rimane con te.
  • Il convertitore da .cer a .p12 funziona interamente nel tuo browser. Il tuo certificato, la chiave privata e la password non vengono mai caricati.
  • Non è richiesto alcun account o registrazione, e le richieste sono limitate per prevenire l'abuso.

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 passo funziona da un browser e un terminale su Windows, Linux o macOS.

  1. Passo 1

    Genera il CSR e la chiave privata

    Inserisci il tuo nome, l'indirizzo e-mail e il codice a due lettere del tuo paese code nel modulo sopra e seleziona Genera CSR e chiave privata. Scarica entrambi i file e conserva la chiave privata in un luogo sicuro.

  2. Passo 2

    Crea il certificato in Apple Developer

    Accedi a developer.apple.com, apri Certificati, identificatori e profili, seleziona il pulsante + e scegli Apple Distribution o Apple Development.

  3. Passo 3

    Carica il CSR e scarica il .cer

    Carica il file ios-certificate-request.csr, continua e scarica il certificato rilasciato, di solito denominato distribution.cer o development.cer.

  4. Passo 4

    Converti il .cer in un file .p12

    Utilizza il convertitore .cer a .p12 in step 2 di questa pagina: seleziona il .cer e la chiave privata, imposta una password e scarica il .p12. Funziona direttamente nel tuo browser, o utilizza il comando OpenSSL al posto.

  5. Passo 5

    Creare un profilo di provisioning

    Crea un profilo di provisioning per App Store, ad hoc o di sviluppo in Apple Developer per il tuo ID App e seleziona il nuovo certificato.

  6. Passo 6

    Segna e invia il tuo app

    Importa il .p12 e il profilo in Xcode, fastlane, i tuoi segreti CI o Capgo Cloud Build, quindi costruisci e carica il tuo app su TestFlight o l'App Store.

Utilizza l'output

Sottoscrivi il tuo app iOS con il .p12

La via più veloce è la il convertitore in-browser .cer a .p12 Sopra. Preferisci la riga di comando? OpenSSL fa la stessa cosa; chiede una password di esportazione che diventa la tua password .p12.

Crea il .p12 con OpenSSL

OpenSSL è preinstallato su macOS e la maggior parte delle distribuzioni Linux, e disponibile su Windows attraverso Git Bash o WSL.

Converti .cer in .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 Costruzione Cloud

Salva il .p12 e il profilo di provisioning una volta e lascia Capgo Costruzione Cloud firmare e caricare build iOS, non richiede Mac.

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

Sul Mac, clicca due volte sul .p12 per importarlo nel Keychain e Xcode lo rileva. Sul runner CI, importalo in un keychain temporaneo con fastlane.

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

Segreti CI e controlli di chiave

Codifica file di firma per GitHub Actions o segreti GitLab, e conferma che il certificato corrisponde 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

Risolvere problemi

Errori e soluzioni comuni per certificati iOS

La password inserita è sbagliata (importazione Keychain)
OpenSSL 3 crittografa i file .p12 con algoritmi che macOS Keychain può rifiutare. Ri-esporta il .p12 con OpenSSL 3 e la flag -legacy mostrata sopra.
No certificato corrisponde alla chiave privata
La .cer è stata emessa per un CSR diverso. Utilizza la chiave privata scaricata con quel CSR esatto, o revoca il certificato e inizia di nuovo con un nuovo CSR.
Impossibile caricare i certificati
Apple fornisce file .cer nel formato DER. Aggiungi -inform DER quando converte la .cer con openssl x509.
La profilo di provisioning non include il certificato di firma
I profili sono legati a specifici certificati. Modifica o regenera il profilo di provisioning dopo aver creato il nuovo certificato, quindi scaricalo nuovamente.
Hai raggiunto il numero massimo di certificati
Apple limita il numero di certificati di distribuzione che una squadra può detenere. Revoca uno inutilizzato nel Apple Developer. Le app di Store Live non sono interessate.
Il certificato non è considerato affidabile nel Keychain
Installa il certificato intermediario Apple Worldwide Developer Relations (WWDR) corrente da Apple PKI, quindi importa nuovamente la .p12.

Dopo la firma

Invia aggiornamenti web senza un altro round-trip di store

Una volta che il binario nativo è firmato, Capgo aggiornamenti live possono distribuire Capacitor modifiche al layer web in tempo reale—canali, rollback e qualsiasi CI/CD che già utilizzate. Gratuito da provare quando siete pronti a integrare OTA nello stesso percorso di rilascio.

FAQ

Domande frequenti sull'elaboratore di certificati iOS

Risposte su CSRs, tipi di certificato, conversione in .p12, account Apple Developer e firma di app iOS senza un Mac.

Cosa crea questo elaboratore di certificati iOS?

Genera una richiesta di firma di certificato (.csr) e la chiave privata corrispondente (2048-bit RSA) (.pem). Carica il CSR su Apple Developer per ottenere il certificato di distribuzione Apple o di sviluppo Apple (.cer), quindi combina il .cer con la chiave privata in un file .p12 per Xcode, fastlane, CI o Capgo Cloud Build.

Cosa è una richiesta di firma di certificato (CSR)?

Una CSR è un piccolo file che contiene la tua chiave pubblica e i dettagli della tua identità (nome, indirizzo e-mail, paese), firmata con la tua chiave privata. Apple lo utilizza per emettere un certificato di firma legato a quella chiave. La chiave privata non viene mai inviata ad Apple, quindi devi conservare il file .pem che questo strumento ti fornisce.

Posso creare un certificato di distribuzione iOS senza un Mac?

Si. Genera il CSR e la chiave privata qui, carica il CSR nel portale dello sviluppatore Apple da qualsiasi browser, scarica il .cer e convertilo in .p12 con il convertitore nel passo 2 di questa pagina. Funziona tutto da Windows, Linux o macOS, quindi non è necessario l'accesso alla chiave di sistema.

Scegliere quale tipo di certificato utilizzare nello sviluppatore Apple?

Scegli lo sviluppo Apple per eseguire le compilazioni su dispositivi di test registrati da Xcode. Scegli la distribuzione Apple per firmare le compilazioni per l'App Store, TestFlight e la distribuzione ad hoc. Lo stesso CSR funziona per entrambi i tipi; il tipo viene selezionato nello sviluppatore Apple, non in questo strumento.

È la chiave privata archiviata sul server?

No. Nel passo 1, il CSR e la chiave privata vengono generati su richiesta da un endpoint Capgo senza stato su HTTPS e restituiti direttamente al tuo browser con Cache-Control: no-store; non vengono mai scritti in un database o conservati dopo la risposta. Nel passo 2, il convertitore .cer in .p12, funziona interamente nel tuo browser e non carica nulla. Se la tua politica richiede la generazione locale della chiave, utilizza il comando OpenSSL equivalente su questa pagina.

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

Il file .cer fornito da Apple contiene solo il certificato pubblico. La firma di un'app richiede anche la chiave privata, quindi gli strumenti di compilazione attendono un file .p12 che abbia il certificato e la chiave privata dietro una password.

Come posso convertire un .cer in .p12?

Usa il passo 2 su questa pagina: seleziona il .cer da Apple (DER o PEM), seleziona la chiave privata .pem utilizzata per creare il CSR, inserisci una password e seleziona Costruisci file .p12. Il browser controlla che il certificato corrisponda alla chiave e costruisce un file .p12 3DES-criptato che macOS Keychain, Xcode e fastlane accettano. Non viene caricato nulla. Puoi anche copiare il .p12 come base64 per segreti CI.

Devo avere un account Apple Developer?

Sì. L'upload di un CSR e l'emissione di certificati di firma richiede un abbonamento al programma Apple Developer (99 USD all'anno, o il programma Enterprise per la distribuzione in-house). Il CSR stesso può essere generato senza un account.

Quanto dura un certificato di firma iOS?

Il certificato di sviluppo Apple e il certificato di distribuzione Apple sono validi per un anno. Le app già presenti su App Store continuano a funzionare dopo la scadenza o la revoca del certificato, ma è necessario un nuovo certificato e un profilo di provisioning per firmare la prossima build.

Posso riutilizzare lo stesso CSR o la stessa chiave privata?

Sì, ma è più sicuro e facile rotare una coppia di chiavi fresca per ogni certificato. Ciò che non devi fare è mescolarli: un .cer funziona solo con la chiave privata esatta che ha creato il suo CSR. Se la chiave è persa, revoca il certificato e genera un nuovo CSR.

Posso usare questo CSR per i certificati di notifica push (APNs)?

Sì. Apple richiede un CSR quando si crea anche un certificato SSL APNs. Per nuove app, un'autenticazione chiave APNs (.p8) è spesso più semplice perché non scade mai e funziona per tutte le tue app.