Creazione e gestione delle catene di certificati
Generi CA radice, CA intermedie e certificati per entità finali con una corretta convalida della catena.
Creazione e gestione delle catene di certificati è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.
Generazione della CA radice
Una CA radice è un certificato autofirmato che funge da ancora di fiducia ultima. La chiave privata della CA radice deve essere conservata offline, su un sistema isolato dalla rete o in un HSM, perché la sua compromissione minerebbe l'intera PKI. "openssl req -x509 -new -nodes -key root_key.pem -sha256 -days 3650 -out root_cert.pem" genera un certificato radice autofirmato valido per 10 anni.
Generazione della CA intermedia
Le CA intermedie sono firmate dalla CA radice e vengono usate per l'emissione quotidiana dei certificati. Per prima cosa, generi la chiave intermedia e la CSR: "openssl req -new -key intermediate_key.pem -out intermediate.csr". Quindi la CA radice la firma: "openssl x509 -req -in intermediate.csr -CA root_cert.pem -CAkey root_key.pem -CAcreateserial -days 1825 -out intermediate_cert.pem".
Generazione del certificato dell'entità finale
I certificati delle entità finali (certificati foglia) sono firmati dalla CA intermedia per server o client specifici. Generi la chiave del server e la CSR con Subject Alternative Names (SAN), quindi firmi il certificato con la CA intermedia: "openssl x509 -req -in server.csr -CA intermediate_cert.pem -CAkey intermediate_key.pem -CAcreateserial -extensions v3_req -days 365 -out server_cert.pem".
Perché le CA intermedie proteggono la radice
La chiave privata della CA radice viene conservata offline e usata solo per firmare un numero ridotto di certificati di CA intermedie. L'emissione quotidiana dei certificati viene eseguita dalle CA intermedie online. Se una CA intermedia viene compromessa, è possibile revocarla e sostituirla senza compromettere la radice. La chiave radice rimane al sicuro perché non è mai stata esposta online.
Il comando openssl ca
Il comando "openssl ca" offre un flusso di lavoro per le CA più completo rispetto a "openssl x509 -req". Gestisce un database dei certificati (index.txt), assegna i numeri di serie a partire da un file seriale e gestisce la generazione delle CRL. Richiede un file di configurazione openssl.cnf appropriato, con sezioni specifiche per la CA che definiscono la policy dei certificati e i vincoli sulla lunghezza del percorso.
Assemblaggio del file della catena di certificati
Un file completo della catena di certificati per un web server contiene il certificato dell'entità finale seguito dai certificati delle CA intermedie nell'ordine corretto, terminando subito prima della radice. I certificati radice non vengono inclusi perché i browser dispongono di archivi di certificati radice preinstallati. Ordine di concatenazione: "cat server_cert.pem intermediate_cert.pem > chain.pem". Un ordine errato causa errori durante l'handshake TLS.
Verifica di una catena di certificati
"openssl verify -CAfile root_cert.pem -untrusted intermediate_cert.pem server_cert.pem" verifica l'intera catena. Il flag "-untrusted" fornisce i certificati intermedi che fanno parte della catena, ma non sono ancora considerati attendibili. Se la verifica ha esito positivo, l'output è "server_cert.pem: OK". Gli errori più comuni indicano certificati intermedi mancanti o certificati scaduti.
Problemi comuni delle catene
Tra i problemi frequenti delle catene di certificati vi sono: certificati intermedi mancanti (il server invia solo il certificato foglia), ordine di concatenazione errato (il certificato foglia deve essere il primo), certificato intermedio scaduto (facile da non notare poiché si monitora la scadenza del certificato foglia), certificati autofirmati non presenti nell'archivio di attendibilità e mancata corrispondenza del nome (il SAN del certificato non corrisponde al nome host). Tutti questi problemi sono diagnosticabili con "openssl s_client -showcerts".
Formato del contenitore PKCS#12
PKCS#12 (.pfx o .p12) è un formato contenitore che raggruppa la chiave privata, il certificato dell'entità finale e i certificati intermedi in un unico file cifrato. Creazione: "openssl pkcs12 -export -out bundle.pfx -inkey server_key.pem -in server_cert.pem -certfile intermediate_cert.pem". È richiesto da IIS, .NET, dai keystore Java e da molte applicazioni aziendali.
Differenze tra PEM, DER e PFX
PEM è ASCII codificato in base64, leggibile, supporta più oggetti in un singolo file ed è usato da Apache, nginx e dagli strumenti OpenSSL. DER è binario, contiene un solo oggetto per file ed è usato da Java (per le importazioni JKS), Android e alcuni strumenti aziendali. PKCS#12/PFX è un contenitore binario cifrato per più oggetti, usato da Windows e IIS. Prima della distribuzione, verifichi sempre quale formato è previsto dal sistema di destinazione.
Certificate Transparency ed emissione dei certificati
Le CA moderne devono registrare tutti i certificati emessi nei log di Certificate Transparency (CT) prima della consegna. Quando si crea una CA privata per uso interno, la registrazione nei log CT non è richiesta. Tuttavia, i certificati esposti pubblicamente devono contenere Signed Certificate Timestamps (SCT) incorporati per essere considerati attendibili da Chrome. Le CA private possono adottare le proprie policy senza requisiti CT.
Controllo dell'ordine della catena di certificati
Quando si assembla un file della catena di certificati TLS per un server nginx, qual è l'ordine corretto di concatenazione?
Riepilogo della lezione: gestione delle catene di certificati
Le CA radice sono autofirmate, vengono conservate offline e firmano solo le CA intermedie. Le CA intermedie gestiscono l'emissione quotidiana. I file della catena contengono il certificato foglia seguito dai certificati intermedi, mentre la radice viene omessa. Verifichi la catena con "openssl verify -CAfile root.pem -untrusted intermediate.pem leaf.pem". I contenitori PKCS#12 raggruppano chiave e certificati per Windows/Java. Un ordine errato della catena è una causa comune di errori durante la distribuzione, diagnosticabile con s_client -showcerts.
Impara Cryptology Academy con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 67
- Lezioni
- 261
Domande Frequenti
La lezione «Creazione e gestione delle catene di certificati» è gratuita?
Sì — il testo completo di «Creazione e gestione delle catene di certificati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.
Cosa imparerò in «Creazione e gestione delle catene di certificati»?
Generi CA radice, CA intermedie e certificati per entità finali con una corretta convalida della catena. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cryptology Academy?
Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Creazione e gestione delle catene di certificati»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?
Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Fondamenti della riga di comando di OpenSSL
- Creazione e gestione delle catene di certificati
- OCSP Stapling e Certificate Transparency
- Let's Encrypt e automazione del protocollo ACME