Parser Certificati

I certificati X.509 sono il formato standard per i certificati a chiave pubblica usati in TLS/SSL. Questo strumento analizza certificati codificati in PEM per visualizzare il soggetto, l'emittente, il periodo di validita, i dettagli della chiave pubblica e le estensioni. Essenziale per il debug dei problemi di connessione HTTPS.

Specifiche

Casi d'uso comuni

  • Debug degli errori di connessione SSL/TLS ("il certificato e scaduto")
  • Verifica che il certificato copra i nomi di dominio corretti
  • Controllo delle date di scadenza del certificato per la pianificazione del rinnovo
  • Ispezione dei certificati intermedi e radice in una catena
  • Verifica che gli attributi del certificato soddisfino i requisiti di conformita

Funzionalità

  • Analisi di certificati codificati in PEM (-----BEGIN CERTIFICATE-----)
  • Visualizzazione dei nomi distinti di soggetto ed emittente
  • Visualizzazione del periodo di validita (Non prima / Non dopo)
  • Estrazione dell'algoritmo e della dimensione della chiave pubblica
  • Visualizzazione dei Subject Alternative Names (SAN)
  • Visualizzazione delle estensioni del certificato (Key Usage, Extended Key Usage, Basic Constraints)
  • Visualizzazione degli identificatori Authority/Subject Key
  • CRL Distribution Points e Authority Information Access URL

Esempi

Certificato autofirmato

Provalo →

Un certificato X.509 per example.com con Subject Alternative Names.

-----BEGIN CERTIFICATE-----
MIIEFTCCAv2gAwIBAgIUb7VAvx3CADEDexgoNd41E9Y5tZowDQYJKoZIhvcNAQEL
BQAwfDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
DVNhbiBGcmFuY2lzY28xFDASBgNVBAoMC0V4YW1wbGUgSW5jMRQwEgYDVQQLDAtF
bmdpbmVlcmluZzEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMjYwMTI1MDQ0ODMw
WhcNMjcwMTI1MDQ0ODMwWjB8MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZv
cm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzEUMBIGA1UECgwLRXhhbXBsZSBJ
bmMxFDASBgNVBAsMC0VuZ2luZWVyaW5nMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKN/rhprC1rfrwKpj9ZqwRR
4c51daZRMlij1NbmUJn7KiZTghxu1OtOEodGmpcF3xuWxiBYTOKvQZ+qPpED6IAG
IYtANPetAkRbsf/xdZZZ/BRR3jQQ2AVDfyuBSYjYEV4JMVG47JCj7oewgNb0dejv
HI18aBWzIGE6v9Zv5FDt+d3GjJignI8elrGzrnJg85qsd743xSEPALqf1NsyhjtY
Th91DazAOoPzA/DMXzoXUhAf9C5uWQlSdn6JDzs8/ld0c+LZH9ohvC/IN/PfdkYg
NYR2AJutUdxbOPPmcFm46o/WpquV2H0mIMuvdzI+k/tk6wVV2jwu2ysQLwweqecC
AwEAAaOBjjCBizAdBgNVHQ4EFgQU9Th/a8eJZ9DHh5uUGyf+iTSNF14wHwYDVR0j
BBgwFoAU9Th/a8eJZ9DHh5uUGyf+iTSNF14wDwYDVR0TAQH/BAUwAwEB/zA4BgNV
HREEMTAvggtleGFtcGxlLmNvbYIPd3d3LmV4YW1wbGUuY29tgg9hcGkuZXhhbXBs
ZS5jb20wDQYJKoZIhvcNAQELBQADggEBAE1rGDKmhMBkcdwZva/9CouLeLOIHBiI
uPH1LV6Pbl2KJ11w1L36SstF17+M3Sn0SJxstCePJWlfLlx6r5JZSyNAQghmgep1
/YWrsDtC3bjs4stOz1FWUgUDs+b7pf+h93lLTShX8mue2rjIXbYJPJx9XsCmyx1R
zLuYSoOSQ/0aR7NSzjqgoHEUNI/2mGTRJ6ngC0vx88ppn+tuk8PyAXt8kp8hPx3I
6lmmyzfuwt0JZIawW2p1nkMlGt2IBIxBBY7vjAHCTDRa69YP08QeImDM13FelUVh
tXPOCJaWXZQmppgKNtmpedswRRtOyl83cqzkz4rZRpjnpPqIEWNQ9bs=
-----END CERTIFICATE-----

Chiave privata

Provalo →

Una chiave privata RSA corrispondente in formato PKCS#8.

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCyjf64aawta368
CqY/WasEUeHOdXWmUTJYo9TW5lCZ+yomU4IcbtTrThKHRpqXBd8blsYgWEzir0Gf
qj6RA+iABiGLQDT3rQJEW7H/8XWWWfwUUd40ENgFQ38rgUmI2BFeCTFRuOyQo+6H
sIDW9HXo7xyNfGgVsyBhOr/Wb+RQ7fndxoyYoJyPHpaxs65yYPOarHe+N8UhDwC6
n9TbMoY7WE4fdQ2swDqD8wPwzF86F1IQH/QublkJUnZ+iQ87PP5XdHPi2R/aIbwv
yDfz33ZGIDWEdgCbrVHcWzjz5nBZuOqP1qarldh9JiDLr3cyPpP7ZOsFVdo8Ltsr
EC8MHqnnAgMBAAECggEAANyt1b1JqlASJPcQMmiABBDsVcJvacW+lOFfNHv/XtIk
AMD3QdfiVnh8BZ2SC+Sbw4nvNVZeMkH4v4j84FcnSjO9YB5Ub+9GSyCXzWdT0zQA
AyeAbe2FSkRqWsI3CETl+iqlMekCPpIfPRYQqSw1w+tTm5APZWHSzpiQA7ydwSsP
sJ1QBq64eXSXFhpyLG0LE4ATeyH9dxj9n9NocL0QOqT+Tl5Dcjlxc7fYmoHStC0q
9Xb5h1Po3kmESAELdUobBbJvJFVK98PMB6osUR4VM4snQJOJZ+4Df7bxU311OgLB
Am/mQjsnyZqBWjDQaUj/BGnapJxqB+a102Ki3XMX4QKBgQDcmUc0c+zfRfnic22Q
ytJ3Y29N1C52GESFulL+cYfwwfVK/VXWT1b/eECABVWZvzP22wyEnkodkYWSoN86
GK2PvH8ii9EpkkCtRabFqmbfqPysTKawu9/BgrVAvEvRQjHHAUZnytwtw+IcL6Nz
EjQ4UrFK+3/rycT05I/ToHRgGQKBgQDPNXI0OSJ1nl7YQOry4C4ekT/uCJAbV7bN
MU49iSMqldlXy+VvSKAwErzvaAtQUolvu3DPw2hcpMxuH+hoHweTA0lu0VbZRKvS
1EhMWQGN2qrSQYcnhvKY/BUbd7KjZ858PeOBcTgyCfBkfdBNgughjsCv2BxKGxQI
Li2gSWSZ/wKBgF0M2pgpffUAE1ON1N2KcBSkAMMXiTGPMvgli/R/9xN6/PjQu3BW
rx+7nZlipqTfng+2fiVCj4jBZVJgQUjEOBG1NPthdqzOYDG2e45NPm+BXHNhMb7C
wLNjawkPY/u0rEKBKy2EyDMVuT6iaZOUTiqj1t0GEQNobIfQEUr3F5+hAoGAZuD3
afxwIovWNXLN9HbgDyc44Zt4yUqcpXZ0jVL4ld0+wzumF8GsXxH+orM64s+IE2Sy
V0WDHHRqV8cZ4hB99z0riY0AnPFeilgB6X5Lqj3GkIweab6z1sdaR3//vuf8em1T
9uHa7+VFaO+aq9FyJa819ljLevPE12buGmY2P8sCgYEAoSk3KwiEO9zvxuuwqdBh
Qv/dvWPgh/KttWcoL6Axt1z4gG+vdidn8xIdVGy6xnQOYpm+ANqRpWO82Hws5ITy
8uDn/S2kjQnyh8Cz7jJLBiJUxz/ZWfUz56cQq3Bej46oJN6UKkhJ9ogAjUJAYjV1
7JIWxv6OC7Cg6xfHCGRa7F0=
-----END PRIVATE KEY-----

Suggerimenti

  • Esporta un certificato dal browser: clicca sul lucchetto > Certificato > Dettagli > Esporta.
  • Ottieni il certificato di un sito con: openssl s_client -connect example.com:443
  • I SAN (Subject Alternative Names) elencano tutti i nomi di dominio validi.
  • I certificati radice sono autofirmati (emittente = soggetto).
  • Verifica la catena di certificati con: openssl verify -CAfile ca.pem cert.pem

Approfondimenti Parser Certificati

I certificati X.509 sono il fondamento della fiducia su internet, abilitando la crittografia TLS/SSL per le connessioni HTTPS, la firma del codice, la sicurezza email (S/MIME) e l'autenticazione VPN. Un certificato lega una chiave pubblica a un'identita (nome di dominio, organizzazione o individuo), e un'Autorita di Certificazione (CA) garantisce questo legame firmando digitalmente il certificato.

I certificati sono tipicamente archiviati in formato PEM, ovvero dati DER codificati in Base64 racchiusi tra i marcatori -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----. Un certificato contiene il soggetto (chi identifica il certificato), l'emittente (chi lo ha firmato), un periodo di validita (date Non prima e Non dopo), la chiave pubblica del soggetto e le estensioni che controllano l'utilizzo. L'estensione Subject Alternative Name (SAN) elenca tutti i nomi di dominio coperti dal certificato.

Le catene di certificati stabiliscono la fiducia collegando un certificato di entita finale a una CA radice fidata attraverso una o piu CA intermedie. Quando un browser si connette a un sito web, verifica la catena: il certificato del server e stato firmato da una CA intermedia, che e stata firmata da una CA radice di cui il browser si fida. Una catena interrotta, con intermediari mancanti o una radice sconosciuta, causa il familiare errore "La tua connessione non e privata".

La gestione dei certificati e una fonte comune di interruzioni. I certificati scaduti causano interruzioni immediate del servizio. Nomi di dominio non corrispondenti attivano avvisi del browser. Certificati intermedi mancanti funzionano in alcuni browser (che possono memorizzarli nella cache o recuperarli) ma falliscono in altri e nei client API. Monitorare la scadenza dei certificati e automatizzare il rinnovo con strumenti come Let's Encrypt e certbot e essenziale per operazioni affidabili.

Per verificare quando scade un certificato, incolla il contenuto PEM in questo strumento e controlla la data Non dopo. Dalla riga di comando, esegui openssl x509 -enddate -noout -in cert.pem per un file locale, oppure openssl s_client -connect example.com:443 collegato a openssl x509 -noout -enddate per un server remoto. Il monitoraggio automatizzato tramite certbot, cert-manager o servizi di monitoraggio dedicati puo avvisare ben prima della scadenza per prevenire interruzioni.

I certificati radice sono autofirmati (l'emittente e uguale al soggetto) e sono preinstallati nei browser e nei sistemi operativi come ancore di fiducia. I certificati intermedi sono firmati da una CA radice e vengono usati per firmare certificati di entita finale. Questa catena di fiducia protegge la chiave radice: se un intermediario viene compromesso, viene revocato solo quell'intermediario e non la radice. I server devono inviare la catena completa (entita finale piu tutti gli intermediari) ma non dovrebbero includere il certificato radice stesso.

I Subject Alternative Names (SAN) elencano tutti i nomi di dominio e gli indirizzi IP per cui un certificato e valido. Un singolo certificato puo proteggere piu domini come example.com, www.example.com e api.example.com usando i SAN. I browser moderni usano i SAN invece del campo Common Name (CN) per la validazione del dominio. I certificati wildcard (*.example.com) coprono un livello di sottodomini ma non il dominio apex stesso.

Un certificato che funziona nei browser ma fallisce nei client API e un problema comune causato da catene di certificati incomplete. I browser sono piu tolleranti: alcuni recuperano automaticamente gli intermediari mancanti tramite il recupero AIA (Authority Information Access) o usano intermediari precedentemente memorizzati nella cache. I client API come curl, Node.js e la libreria requests di Python richiedono tipicamente che la catena completa venga inviata dal server. Assicurati che il tuo server sia configurato per inviare il certificato di entita finale piu tutti i certificati intermedi, e testa con curl -v o openssl s_client per verificare che la catena sia completa.

← Torna a tutti gli strumenti