Decoder di certificati SSL — Leggi file PEM, CRT e CSR
Incolla un certificato PEM, una catena o una CSR, oppure carica un file .crt, per vedere SAN, scadenza, emittente, tipo di chiave e impronte. Decodificato nel browser.
Servono solo certificati e CSR. Non incollare mai una chiave privata in un sito web; se lo fai qui, viene ignorata.
Funziona interamente nel tuo browser. I certificati vengono decodificati in locale; nulla viene caricato e non vengono effettuate interrogazioni OCSP o CT. Sfoglia tutti gli strumenti gratuiti.
Hai trovato un problema o qualcosa che potrebbe andare meglio? Leggiamo ogni messaggio e sistemiamo le cose in fretta.
Questo decoder gratuito di certificati SSL legge un certificato X.509 e mostra cosa contiene: i nomi di dominio coperti (Subject Alternative Names), chi l'ha emesso, quando scade e quanti giorni mancano, tipo e lunghezza della chiave, le estensioni e le impronte SHA-256 e SHA-1. Incolla il testo PEM, un'intera catena da un fullchain.pem o una richiesta di firma del certificato (CSR) prima di inviarla a una CA. Puoi anche caricare file .crt, .cer, .der e .pem.
La decodifica avviene nel browser; nulla viene caricato e non vengono fatte ricerche in rete. Questo significa anche che lo strumento riporta ciò che il certificato dichiara, non se è attendibile: non verifica le firme, non controlla la revoca (OCSP o CRL) e non consulta i log di Certificate Transparency. Per una catena, controlla che il nome dell'emittente di ogni certificato corrisponda al soggetto del certificato successivo, il che intercetta l'errore di ordinamento più comune. Legge certificati RSA, ECDSA ed Ed25519, a differenza di molti decoder JavaScript che gestiscono solo RSA.
Come si usa
- Incolla un certificato che inizia con -----BEGIN CERTIFICATE-----, più certificati, oppure una CSR che inizia con -----BEGIN CERTIFICATE REQUEST-----. Oppure fai clic su Carica e scegli un file .crt, .cer, .der o .pem.
- Controlla la riga di stato colorata di ogni certificato: valido con i giorni rimanenti, in scadenza (meno di 30 giorni), scaduto o non ancora valido.
- Verifica che i Subject Alternative Names elenchino ogni hostname che il certificato deve coprire. I browser ignorano il Common Name.
- Per una catena, leggi il riquadro Ordine della catena: per primo deve venire il certificato del server, seguito a turno da ciascun emittente.
- Copia un'impronta o il PEM di un singolo certificato con i pulsanti nella sua scheda.
Domande frequenti
Come controllo quando scade un certificato SSL?
Incolla qui il certificato e leggi la riga Valido fino al e lo stato sopra di essa, che mostra i giorni rimanenti. Per ottenere il certificato servito da un sito online, esegui openssl s_client -connect example.com:443 -servername example.com -showcerts, oppure nel browser fai clic sul lucchetto (o sull'icona delle impostazioni del sito), apri il visualizzatore del certificato ed esportalo. Puoi controllarlo anche dalla riga di comando con openssl x509 -in cert.pem -noout -enddate.
Che differenza c'è tra PEM, DER, CRT e CER?
PEM e DER sono codifiche; CRT e CER sono solo estensioni di file. DER è la forma binaria del certificato. PEM sono gli stessi byte in Base64 tra le righe -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----, e un file PEM può contenere più certificati. Un file .crt o .cer può contenere l'una o l'altra codifica (con .cer Windows di solito intende DER). Questo decoder accetta entrambe.
Che cos'è un Subject Alternative Name (SAN)?
L'estensione SAN elenca ogni hostname e indirizzo IP per cui il certificato è valido, come example.com, www.example.com e *.example.com. I browser controllano solo questo elenco; il Common Name nel soggetto è ignorato da Chrome dalla versione 58 (2017). Un certificato senza un SAN corrispondente fallisce con un errore di nome non corrispondente anche se il Common Name è giusto.
Che cos'è l'impronta di un certificato?
Un hash dell'intero certificato nella sua forma DER, mostrato in esadecimale. Identifica un certificato esatto: se differisce anche un solo byte, l'impronta cambia. Le impronte SHA-256 sono lo standard moderno; le impronte SHA-1 sono ancora mostrate da alcuni strumenti e sistemi più vecchi. Le impronte non sono segrete. Il pin SPKI mostrato qui è diverso: fa l'hash solo della chiave pubblica, quindi resta uguale quando un certificato viene rinnovato con la stessa chiave.
Per quanto tempo può essere valido un certificato SSL?
Per i certificati TLS pubblicamente attendibili, il limite del CA/Browser Forum è stato di 398 giorni da settembre 2020. Il ballot SC-081 lo riduce per gradi: 200 giorni per i certificati emessi dal 15 marzo 2026, 100 giorni dal 15 marzo 2027 e 47 giorni dal 15 marzo 2029. I certificati di una CA privata o interna non sono soggetti a questi limiti. Questo strumento avvisa quando un certificato finale supera il limite previsto per la sua data di emissione.
È sicuro incollare qui il mio certificato?
Sì. Un certificato è pubblico per definizione: ogni visitatore del tuo sito lo riceve. Inoltre la decodifica avviene in locale nel browser. La chiave privata è un'altra faccenda: non incollare mai una chiave privata in nessun sito web. Se ce n'è una in ciò che incolli, questo strumento la ignora e te lo segnala.
Leggere un certificato: cosa significa ogni campo
• Subject e Issuer (soggetto ed emittente): distinguished name. CN è il common name, O l'organizzazione, C il paese. In un certificato autofirmato o radice sono identici.
• Validità: Not Before e Not After, in UTC. I client rifiutano il certificato fuori da questo intervallo, quindi un orologio sbagliato su un dispositivo può far fallire un certificato valido.
• Numero di serie: unico per ogni CA; è ciò a cui fa riferimento un elenco di revoca.
• Chiave pubblica: le chiavi RSA sono da 2048 bit o più; le chiavi ECDSA usano una curva con nome, di solito P-256 o P-384, e sono molto più corte a parità di robustezza. Ed25519 per ora è usata raramente per il TLS pubblico.
• Key usage ed extended key usage: cosa può fare la chiave. Un certificato TLS per server richiede TLS Web Server Authentication; un certificato di CA richiede Certificate Sign.
• Basic constraints: CA:TRUE indica un certificato che può emetterne altri; una path length limita quanti intermedi possono seguirlo.
• Authority Information Access: dove scaricare il certificato dell'emittente (CA Issuers) e dove chiedere informazioni sulla revoca (OCSP).
Risolvere i problemi della catena
La maggior parte degli errori "certificato non attendibile" che si presentano in un browser ma non in un altro, o in curl, dipende dalla catena inviata dal server. Il server deve inviare per primo il proprio certificato, poi l'intermedio che lo ha emesso e così via; non dovrebbe aver bisogno di inviare la radice, che i client hanno già. A volte i browser riescono a scaricare da soli un intermedio mancante (usando l'URL AIA), ma curl, Java, Python e la maggior parte delle app mobili no, e quindi falliscono.
Incolla qui la catena completa del server (per Let's Encrypt, fullchain.pem; per le altre CA, il tuo certificato seguito dal bundle della CA) e controlla che ogni riga "è emesso da" sia verde. Se l'ordine è sbagliato, riordina i blocchi PEM nella configurazione del server. Se manca un anello, aggiungi il certificato intermedio fornito dalla tua CA.
Strumenti gratuiti correlati
- Decoder JWT — Decodifica header e payload di un JWT, leggi la scadenza in parole semplici, verifica firme HS, RS, PS ed ES o firma un nuovo token. Nulla esce dal browser.
- Codificatore / decodificatore Base64 — Codifica testo o file in Base64, trasforma immagini in data URI con snippet CSS e <img>, e decodifica Base64 in un file con anteprima. Nulla esce dal tuo browser.
- Generatore di password — Genera una password casuale sicura, una passphrase facile da ricordare o un PIN. Funziona interamente nel browser: nulla viene inviato o salvato.
- Da curl a codice — Incolla un comando curl, anche da "Copia come cURL" di Chrome, e ottieni la stessa richiesta in Python, JavaScript, Node, Go, PHP, Ruby, Java, C#, wget o HTTPie.
- Validatore YAML — Valida il YAML con riga e colonna esatte di ogni errore e individua gli sbagli che i parser accettano in silenzio: booleani yes/no, tabulazioni, chiavi duplicate.