Accesso Portachiavi è ancora presente su ogni Mac, e il suo Assistente Certificato genera ancora richieste di firma del certificato. Se tale richiesta sia effettivamente utile per la firma del codice dipende interamente dal certificato che si sta ordinando. Per un certificato Apple Developer ID, quello che consente di distribuire software Mac al di fuori del Mac App Store, Accesso Portachiavi è lo strumento corretto e i passaggi seguenti sono attuali. Per un certificato commerciale di firma del codice rilasciato da un’Autorità di Certificazione pubblica, del tipo usato per firmare eseguibili Windows, installer, driver e applicazioni Java, una richiesta generata in Accesso Portachiavi non viene più accettata dal 1° giugno 2023, poiché la chiave privata deve ora essere creata su hardware.
Stabilisci prima quale dei due tipi ti serve, quindi segui la sezione corrispondente.
Quale certificato di firma del codice stai effettivamente ottenendo?
Entrambi i prodotti sono chiamati certificati di firma del codice ed entrambi dimostrano chi ha pubblicato un software, ma provengono da emittenti diversi e seguono regole diverse. I lettori arrivano su questa pagina perché Apple e le Autorità di Certificazione pubbliche usano le stesse parole per due cose diverse.
- Certificato Apple Developer ID. Rilasciato da Apple, tramite la propria Developer ID Certification Authority, ai membri dell’Apple Developer Program. Firma app Mac, plug-in e pacchetti installer che distribuisci autonomamente, così macOS Gatekeeper ti riconosce come sviluppatore identificato. La coppia di chiavi viene generata sul tuo Mac e resta nel tuo portachiavi di accesso, e la richiesta la crei in Accesso Portachiavi.
- Certificato di firma del codice pubblicamente attendibile. Acquistato da un’Autorità di Certificazione pubblica come Sectigo, DigiCert o GlobalSign. Firma eseguibili Windows, installer MSI, driver, script PowerShell e applicazioni Java. È regolato dai Code Signing Baseline Requirements del CA/Browser Forum, che richiedono che la chiave privata venga generata e rimanga su hardware certificato, quindi non c’è nulla che Accesso Portachiavi possa fare.
La regola decisionale rapida: se il software che stai firmando gira su macOS e lo distribuisci al di fuori del Mac App Store, ti serve un certificato Developer ID. Se stai firmando qualcosa per Windows, o un’applicazione Java, ti serve un certificato commerciale di firma del codice, anche se lo compili su un Mac. Nessuno dei due è un certificato SSL/TLS. Se invece quello che vuoi realmente è HTTPS su un server Mac, segui la guida su come generare una CSR sui server macOS.
Il percorso commerciale: perché il metodo Keychain non si applica più
Dal 1° giugno 2023, i Code Signing Baseline Requirements del CA/Browser Forum richiedono che la chiave privata di ogni certificato di firma del codice pubblicamente attendibile, sia standard (OV) sia Extended Validation (EV), venga generata e memorizzata in un modulo crittografico hardware conforme a FIPS 140-2 Level 2, Common Criteria EAL4+, o a uno standard equivalente, e che sia non esportabile. La firma del codice EV ha sempre richiesto l’hardware; la modifica del 2023 ha esteso la stessa regola ai certificati standard.
Una chiave creata da Assistente Certificato non supera questo test per progettazione, per tre motivi distinti:
- La chiave è materiale chiave software esportabile. Viene scritta nel tuo portachiavi di accesso, e puoi selezionarla ed esportarla come file .p12. Questa portabilità è comoda per lo sviluppo Apple ed è esattamente la proprietà che il requisito hardware esiste per eliminare.
- La dimensione della chiave non è conforme. I Baseline Requirements fissano un minimo di RSA 3072 bit per la firma del codice, e il menu Key Size di Assistente Certificato non offre l’opzione 3072.
- La richiesta contiene quasi nessuna identità. Assistente Certificato chiede solo un Nome Comune e indirizzi email. Non c’è alcun campo dove inserire i dettagli su organizzazione, località, stato o paese che un’Autorità di Certificazione convalida per un certificato di firma del codice a validazione organizzativa.
Restano quindi due modi validi per ottenere un certificato di firma del codice pubblicamente attendibile, e quale usare si decide al momento dell’ordine:
- Token più spedizione. L’Autorità di Certificazione genera la coppia di chiavi e la richiesta su un token USB certificato dal proprio lato, carica il certificato emesso su di esso e ti spedisce il token. Non c’è alcuna CSR che devi creare o incollare da nessuna parte. Consulta quale metodo di consegna del certificato di firma del codice scegliere.
- Il tuo token hardware, HSM o HSM cloud, con attestazione. Generi la chiave all’interno del dispositivo, produci lì la richiesta, e invii un file di attestazione che dimostra che la chiave è stata creata su hardware conforme e non può essere esportata. Segui la guida generazione CSR e attestazione con YubiKey 5 FIPS o la guida CSR e attestazione con Luna Network Attached HSM v7.x, oppure la documentazione del tuo fornitore HSM.
Un’altra modifica già in vigore: la delibera CSC-31 ha ridotto la validità massima dei certificati di firma del codice pubblicamente attendibili da 39 mesi a 460 giorni per i certificati rilasciati a partire dal 1° marzo 2026, quindi i rinnovi ora ricorrono circa ogni 15 mesi. Per un quadro più ampio, consulta come generare una CSR per un certificato di firma del codice e la versione OpenSSL della stessa guida.
Genera la CSR in Accesso Portachiavi per un certificato Apple Developer ID
Se hai già salvato un file .certSigningRequest, passa direttamente a come inviarlo nel tuo account sviluppatore.
Due cose da verificare prima di iniziare. Ti serve un abbonamento all’Apple Developer Program, e Apple richiede il ruolo di Account Holder per creare un certificato Developer ID. Puoi inoltre avere fino a cinque certificati Developer ID Application e cinque certificati Developer ID Installer per team. Il portale ti chiede di caricare una richiesta ogni volta che crei un certificato, quindi esegui questa procedura una volta per ogni certificato.
Passo 1: Apri Accesso Portachiavi e avvia la richiesta
Accesso Portachiavi non si trova più dove dicono la maggior parte dei tutorial. Fino a macOS Sonoma si trovava in Applicazioni > Utility. Da macOS Sequoia in poi, Apple lo ha spostato in /System/Library/CoreServices/Applications/, una cartella di sistema che il Finder non mostra quando sfogli le Applicazioni, quindi cercare sotto Utility ora non dà alcun risultato. I modi più rapidi per aprirlo sono Spotlight (premi Command-Spazio e digita Accesso Portachiavi), oppure un singolo comando nel Terminale:
open "/System/Library/CoreServices/Applications/Keychain Access.app"
Con l’app aperta, scegli Accesso Portachiavi > Assistente Certificato > Richiedi un certificato a un’autorità di certificazione nella barra dei menu.
Prima di farlo, fai clic su un’area vuota dell’elenco degli elementi in modo che nulla sia selezionato. Se una chiave o un certificato è evidenziato, la voce di menu cambia in Richiedi un certificato a un’autorità di certificazione con seguito dal nome di quell’elemento, e costruisce la richiesta attorno alla chiave esistente invece di crearne una nuova coppia. Questo è utile quando vuoi deliberatamente riutilizzare una chiave, e confuso quando non è così.

Passo 2: Compila la finestra Informazioni Certificato
Assistente Certificato si apre su un riquadro intitolato Informazioni Certificato. Richiede pochissimo:
- Indirizzo email utente: l’indirizzo email associato al tuo account Apple Developer.
- Nome Comune: un’etichetta per la coppia di chiavi, ad esempio Chiave Developer ID Application. Questo non è il nome che finisce nel certificato. Apple costruisce il soggetto del certificato emesso a partire dal tuo team, nella forma Developer ID Application: Nome del tuo team (TEAMID), quindi considera questo campo come un tuo riferimento personale.
- Indirizzo email CA: lascialo vuoto. Viene usato solo dall’altra opzione di consegna.
- Richiesta è: seleziona Salvata su disco, non Inviata via email alla CA. Il portale sviluppatori di Apple accetta un file caricato.
Se vuoi anche scegliere la dimensione della chiave o l’algoritmo, seleziona qui Consentimi di specificare le informazioni sulla coppia di chiavi. Quindi clicca su Continua.

Passo 3: Scegli le impostazioni della coppia di chiavi, se necessario
Questo riquadro appare solo se hai selezionato la casella al passo 2, e per un certificato Developer ID puoi normalmente saltarlo. I valori predefiniti sono RSA a 2048 bit, che è ciò che usano le istruzioni ufficiali di Apple. Con RSA selezionato, il menu Dimensione chiave offre 2048, 4096 e 8192 bit. Il menu Algoritmo offre RSA ed ECC, e passando a ECC quelle dimensioni vengono sostituite con 256, 384 e 521 bit. Lascia l’algoritmo su RSA a meno che il servizio a cui ti stai iscrivendo non richieda specificamente una chiave a curva ellittica.
Versioni precedenti di questa guida ti dicevano di selezionare almeno 3072 bit a questo punto. Quel valore è il minimo del CA/Browser Forum per i certificati commerciali di firma del codice. Non si applica a Developer ID, e non è offerto in questo menu, quindi non c’è nulla da selezionare. Clicca su Continua.

Passo 4: Salva la richiesta e controlla cosa contiene
Scegli dove salvare il file e clicca su Salva. Otterrai un file con estensione .certSigningRequest, e Assistente Certificato inserisce anche la coppia di chiavi corrispondente nel tuo portachiavi di accesso. Il file stesso è testo PEM normale, quindi puoi aprirlo con TextEdit e leggerlo, anche se il blocco codificato da solo non ti dirà molto.

Per confermare i dettagli prima di caricarla, decodifica la richiesta nel Terminale. Questo funziona con il comando openssl già presente su macOS, che è in realtà LibreSSL anziché OpenSSL vero e proprio, quindi non c’è nulla da installare:
openssl req -noout -text -in CertificateSigningRequest.certSigningRequest
Controlla tre cose nell’output: la riga Subject mostra il Nome Comune e l’indirizzo email che hai digitato, la riga della chiave pubblica riporta 2048 bit (o qualsiasi dimensione tu abbia scelto), e l’algoritmo di firma è SHA-256. Se preferisci non usare il Terminale, incolla il contenuto del file nel nostro decodificatore CSR per leggere gli stessi campi.
Passo 5: Invia la richiesta e installa il certificato
Accedi al tuo account Apple Developer e apri Certificates, Identifiers & Profiles. Clicca su Certificates nella barra laterale, poi sul pulsante di aggiunta, e sotto Software seleziona Developer ID. Scegli il tipo di cui hai bisogno:
- Developer ID Application firma un’app Mac, un plug-in o un bundle.
- Developer ID Installer firma un pacchetto installer Mac contenente la tua app firmata.
Clicca su Continue, poi su Choose File, seleziona il tuo file .certSigningRequest, clicca di nuovo su Continue, e clicca su Download. Apple restituisce un file di certificato con estensione .cer. Fai doppio clic per installarlo, e comparirà in Accesso Portachiavi sotto I miei certificati, associato alla chiave privata creata al passo 4.
Firmare con il certificato è solo metà di ciò che macOS controlla. Gatekeeper si aspetta che il software scaricato al di fuori del Mac App Store sia firmato con un certificato Developer ID e notarizzato da Apple, quindi invia la build firmata per la notarizzazione prima di distribuirla. La notarizzazione non sostituisce la firma, opera in aggiunta ad essa.
Trova la chiave privata e fanne un backup
Il certificato non ha valore senza la chiave privata generata da Assistente Certificato, e quella chiave esiste esattamente in un unico posto finché non la copi. Per trovarla, apri Accesso Portachiavi, seleziona il portachiavi login, quindi la categoria Chiavi, e cerca il Nome Comune che hai digitato al passo 2. Vedrai due voci sotto quel nome, una chiave pubblica e una chiave privata. Nota che la chiave pubblica non è la tua CSR: la CSR è il file .certSigningRequest che hai salvato su disco.

Una volta installato il file .cer, guarda invece sotto I miei certificati. Lì il certificato e la sua chiave privata compaiono come una singola voce, che è l’identità di firma usata da codesign, Xcode e i tuoi script di build. Per spostare quell’identità su un altro Mac o su un server di build, fai clic destro sulla voce e scegli Esporta, che produce un file .p12 protetto da una password che imposti tu. Conserva quel file come conserveresti qualsiasi chiave di firma, perché chiunque lo possieda insieme alla password può firmare software a tuo nome.
Fai un backup prima di averne bisogno. I certificati Developer ID sono validi per cinque anni e non possono essere rinnovati: quando uno scade, ne crei uno sostitutivo. Se perdi la chiave privata, il certificato non potrà mai più essere usato e dovrai crearne un altro, che consuma uno dei tuoi cinque slot Developer ID Application o cinque slot Developer ID Installer. Resisti alla tentazione di revocare quello inattivo per fare ordine. Apple è esplicita nel dire che un’app firmata con un certificato Developer ID revocato non si installerà, e non si avvierà per un utente che già la possiede, quindi revocare romperebbe ogni copia già distribuita. Revoca solo se la chiave è stata effettivamente rubata, e mettiti nell’ottica di aspettarti questo tipo di rottura.
Un’ultima nota per chi è arrivato qui per un certificato commerciale: se hai già generato una coppia di chiavi in Accesso Portachiavi per un ordine presso un’Autorità di Certificazione pubblica, non può essere usata e nessuna CA la accetterà. Non succede nulla se la lasci al suo posto, ma c’è poco motivo per tenere materiale chiave di firma esportabile in un portachiavi. Seleziona sia la chiave pubblica sia quella privata sotto Chiavi ed eliminale, quindi ordina tramite un token o un HSM.
Domande Frequenti
Per un certificato Apple Developer ID, sì, ed è il metodo documentato da Apple. Per un certificato di firma del codice pubblicamente attendibile da un’Autorità di Certificazione commerciale, no. Dal 1° giugno 2023 quelle chiavi private devono essere generate e memorizzate su un modulo crittografico hardware conforme a FIPS 140-2 Level 2, Common Criteria EAL4+, o a uno standard equivalente, e una chiave creata in Accesso Portachiavi è materiale chiave software esportabile.
In /System/Library/CoreServices/Applications/. Apple lo ha spostato lì in macOS Sequoia, quindi non è più in Applicazioni > Utility e non compare quando sfogli le Applicazioni nel Finder. Aprilo con Spotlight, oppure esegui open "/System/Library/CoreServices/Applications/Keychain Access.app" nel Terminale. L’app Passwords separata, introdotta insieme a questo cambiamento, gestisce solo le password, non i certificati e le chiavi.
RSA 2048 bit per un certificato Developer ID, che è il valore predefinito, quindi puoi lasciare deselezionato Consentimi di specificare le informazioni sulla coppia di chiavi. Con RSA selezionato, il menu Dimensione chiave offre 2048, 4096 e 8192 bit, e passando a ECC quelle vengono sostituite con 256, 384 e 521 bit. In nessuna impostazione offre 3072 bit, che è il minimo del CA/Browser Forum per i certificati commerciali di firma del codice, ed è uno dei diversi motivi per cui questa strada non si adatta a un ordine commerciale.
Perché la richiesta che costruisce contiene solo un Nome Comune e indirizzi email. Apple non ha bisogno di altro: compila il soggetto di un certificato Developer ID a partire dal tuo account sviluppatore. Un’Autorità di Certificazione commerciale ha invece bisogno di dettagli sull’organizzazione, e li convalida rispetto ai registri pubblici, un altro motivo per cui una richiesta di Keychain non è adatta a quell’ordine.
No. La regola hardware del CA/Browser Forum si applica ai certificati di firma del codice pubblicamente attendibili rilasciati da Autorità di Certificazione commerciali. I certificati Developer ID sono rilasciati dall’autorità di certificazione propria di Apple ai membri dell’Apple Developer Program, e la chiave viene generata nel tuo portachiavi di accesso da Assistente Certificato, esattamente come descritto sopra.
Generane una per ciascuno. Il portale sviluppatori ti chiede di caricare una richiesta di firma del certificato a ogni creazione di certificato, e assegnare a ciascuna identità la propria coppia di chiavi significa che sostituire o revocare una di esse lascia intatto il software firmato con l’altra. Assegna a ogni richiesta un Nome Comune che tu possa distinguere in seguito in Accesso Portachiavi.
Controlla la categoria Chiavi del portachiavi login, cercando il Nome Comune che hai digitato anziché il nome del file. Se è effettivamente assente, le cause abituali sono che la coppia di chiavi è stata creata su un Mac diverso o sotto un account utente diverso, che l’elemento del portachiavi è stato eliminato, o che la richiesta è stata costruita a partire da una chiave esistente usando la variante Richiedi un certificato a un’autorità di certificazione con della voce di menu. Senza la chiave privata la richiesta non può essere usata, quindi generane una nuova.
I certificati di firma del codice pubblicamente attendibili rilasciati a partire dal 1° marzo 2026 sono limitati a 460 giorni, ridotti dai 39 mesi dalla delibera CSC-31 del CA/Browser Forum. I certificati Apple Developer ID sono validi cinque anni e vengono sostituiti anziché rinnovati. In entrambi i casi, il software che hai firmato mentre il certificato era valido continua a funzionare dopo la sua scadenza, a condizione che la firma abbia una marca temporale. Apple applica un’eccezione: controlla il certificato Developer ID Installer nel momento in cui un pacchetto installer viene eseguito, quindi un .pkg deve essere firmato nuovamente una volta scaduto quel certificato, anche se l’app al suo interno non è interessata.
Per approfondimenti correlati, consulta i nostri tutorial sulla firma del codice, gli altri modi per generare una CSR, e come firmare un file EXE usando un certificato di firma del codice.
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10

