Utilia

Decoder di certificati X.509

Decodifica un certificato SSL/TLS, una catena o una CSR nel browser. Vedi soggetto, emittente, scadenza, SAN, utilizzo chiave e impronta SHA-256.

I certificati vengono decodificati nel tuo browser. Nulla viene caricato, quindi certificati interni e CSR restano sul tuo computer.

Questo strumento legge il certificato ma non ne verifica la firma né la catena di fiducia: un certificato decodificato non prova che sia autentico.

Come decodificare un certificato

  1. Incolla un certificato in Certificato, catena o CSR (PEM o Base64) oppure trascina un file sull’area di caricamento. Sono accettati testo PEM (-----BEGIN CERTIFICATE-----), DER binario (.der, .cer), una richiesta di firma del certificato (.csr) e un pacchetto PKCS#7 (.p7b).
  2. Fai clic su Decodifica. Un blocco PEM incollato viene decodificato anche da solo, appena la riga -----END …----- è completa. Carica un esempio mostra un certificato di prova.
  3. Ogni certificato o CSR ha la sua tabella. Un badge indica Date valide, Scaduto o Non ancora valido, e Copia PEM lo ricopia in formato PEM (comodo dopo aver aperto un file DER binario).
  4. Con una catena (un certificato server seguito dagli intermedi), ogni blocco viene decodificato in ordine e lo strumento segnala Emesso dal certificato n quando l’emittente di un certificato corrisponde al soggetto di un altro certificato dell’elenco.

Il significato dei campi

  • Soggetto ed Emittente sono distinguished name: CN (nome comune), O (organizzazione), OU, L (città), ST (regione o provincia), C (paese). Un certificato il cui emittente coincide con il soggetto è segnato come Autofirmato.
  • Valido dal e Valido fino al sono le date notBefore e notAfter, mostrate nel tuo fuso orario, con il numero di giorni rimanenti. Dal 2020 i browser rifiutano i certificati TLS pubblici validi per più di 398 giorni, e il CA/Browser Forum sta riducendo ulteriormente questo limite.
  • Numero di serie è mostrato in esadecimale (come nei browser e in OpenSSL) e in decimale.
  • Algoritmo di firma e Chiave pubblica: per RSA la dimensione del modulo (2048, 3072, 4096 bit) e l’esponente pubblico (quasi sempre 65537); per le curve ellittiche la curva (P-256, P-384…); viene riconosciuto anche Ed25519.
  • Estensioni: Subject Alternative Name (i nomi host, gli indirizzi IP e gli indirizzi e-mail coperti dal certificato; i browser ignorano il CN e usano solo il SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE per un’autorità), Subject e Authority Key Identifier, CRL Distribution Points, Authority Information Access (risponditore OCSP e URL CA Issuers) e Certificate Policies (DV, OV, EV). Le estensioni segnate come critica devono essere comprese da qualsiasi software che usa il certificato.
  • Impronta SHA-1 e Impronta SHA-256 sono hash dell’intero certificato DER, calcolati con la Web Crypto API del browser; corrispondono a openssl x509 -fingerprint. Pin della chiave pubblica è lo SHA-256 in Base64 delle informazioni sulla chiave pubblica, il formato usato per il certificate pinning.

Decodificare non è verificare

Questo strumento è un semplice parser ASN.1/DER. Non controlla la firma, non costruisce una catena di fiducia fino a un’autorità radice e non interroga liste di revoca o OCSP, perché servirebbe l’accesso alla rete. Usalo per ispezionare un certificato, capire perché un nome host non corrisponde o quando scade, non per decidere se ci si può fidare. Le chiavi private vengono rifiutate di proposito: se incolli un blocco PRIVATE KEY non viene decodificato, e se l’hai mai condivisa dovresti considerarla compromessa.

Domande frequenti

Come ottengo il certificato di un sito web?

Nella maggior parte dei browser fai clic sul lucchetto, apri il visualizzatore del certificato ed esportalo in PEM. Da riga di comando, openssl s_client -connect example.com:443 -showcerts stampa l’intera catena; incolla qui i blocchi.

Che differenza c'è tra PEM e DER?

DER è la codifica binaria del certificato. PEM contiene gli stessi byte in Base64 tra le righe BEGIN ed END, più facili da copiare e incollare. Lo strumento legge entrambi e decodifica lo stesso contenuto.

Che cos'è una CSR?

Una richiesta di firma del certificato (Certificate Signing Request) è ciò che invii a un’autorità di certificazione: contiene il soggetto richiesto, la chiave pubblica e spesso i SAN richiesti. Non ha ancora emittente, validità né numero di serie: li aggiunge l’autorità.

Perché il browser dice che il certificato non è valido se le date sono giuste?

Le date sono solo uno dei controlli. Il nome host deve comparire nel Subject Alternative Name, la catena deve portare a una radice attendibile (un intermedio mancante è una causa frequente), l’utilizzo della chiave deve consentire TLS e il certificato non deve essere revocato.

È sicuro incollare qui un certificato?

Sì. Un certificato è un’informazione pubblica che i server inviano a ogni visitatore, e questo strumento lo elabora in locale senza caricarlo. Solo le chiavi private devono restare segrete.