Utilia

Decodificador de certificats X.509

Descodifica un certificat SSL/TLS, una cadena o una CSR al navegador: subjecte, emissor, caducitat, SAN, ús de la clau i empremta SHA-256.

Els certificats es descodifiquen al teu navegador. No es puja res, de manera que els certificats interns i les CSR es queden al teu ordinador.

Aquesta eina llegeix el certificat però no en verifica la signatura ni la cadena de confiança: un certificat descodificat no és una prova que sigui autèntic.

Com descodificar un certificat

  1. Enganxa un certificat a Certificat, cadena o CSR (PEM o Base64), o deixa anar un fitxer a la zona de càrrega. S’accepten text PEM (-----BEGIN CERTIFICATE-----), DER binari (.der, .cer), una sol·licitud de signatura de certificat (.csr) i un paquet PKCS#7 (.p7b).
  2. Fes clic a Descodifica. Un bloc PEM enganxat també es descodifica tan bon punt la seva línia -----END …----- és completa. Carrega un exemple mostra un certificat de prova.
  3. Cada certificat o CSR té la seva pròpia taula. Una insígnia mostra Dates vàlides, Caducat o Encara no és vàlid, i Copia el PEM el copia de nou com a PEM (pràctic després d’obrir un fitxer DER binari).
  4. Per a una cadena (un certificat de servidor seguit dels seus intermedis), cada bloc es descodifica per ordre, i l’eina indica Emès pel certificat n quan l’emissor d’un certificat coincideix amb el subjecte d’un altre de la llista.

Què signifiquen els camps

  • Subjecte i Emissor són noms distingits: CN (nom comú), O (organització), OU, L (ciutat), ST (estat o província), C (país). Un certificat l’emissor del qual és igual al seu subjecte es marca com a Autosignat.
  • Vàlid des de i Vàlid fins a són les dates notBefore i notAfter, mostrades al teu fus horari, amb el nombre de dies que queden. Des del 2020, els navegadors rebutgen els certificats TLS públics vàlids durant més de 398 dies, i el CA/Browser Forum està reduint encara més aquest límit.
  • El Número de sèrie es mostra en hexadecimal (com als navegadors i a OpenSSL) i en decimal.
  • Algorisme de signatura i Clau pública: per a RSA, la mida del mòdul (2048, 3072, 4096 bits) i l’exponent públic (gairebé sempre 65537); per a les corbes el·líptiques, la corba (P-256, P-384…); també es reconeix Ed25519.
  • Extensions: Subject Alternative Name (els noms d’amfitrió, les adreces IP i les adreces de correu electrònic que cobreix el certificat; els navegadors ignoren el CN i només fan servir el SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE per a una autoritat), identificadors de clau del subjecte i de l’autoritat, CRL Distribution Points, Authority Information Access (el respondedor OCSP i l’URL de CA Issuers) i Certificate Policies (DV, OV, EV). Les extensions marcades com a crítica les ha d’entendre tot programari que faci servir el certificat.
  • L’Empremta digital SHA-1 i l’Empremta digital SHA-256 són hashes del certificat DER sencer, calculats amb l’API Web Crypto del navegador; coincideixen amb openssl x509 -fingerprint. El Pin de la clau pública és el SHA-256 en Base64 de la informació de la clau pública, el format que es fa servir per al fixatge de certificats (certificate pinning).

Descodificar no és verificar

Aquesta eina és un analitzador ASN.1/DER pur. No comprova la signatura, no construeix una cadena de confiança fins a una autoritat arrel i no consulta llistes de revocació ni OCSP, perquè això requeriria accés a la xarxa. Fes-la servir per inspeccionar un certificat, esbrinar per què un nom d’amfitrió no coincideix o quan caduca, no per decidir si es pot confiar en ell. Les claus privades es rebutgen expressament: si enganxes un bloc PRIVATE KEY, no es descodifica, i l’has de considerar exposada si l’has compartit alguna vegada.

Preguntes freqüents

Com obtinc el certificat d'un lloc web?

A la majoria de navegadors, fes clic al cadenat, obre el visor de certificats i exporta’l com a PEM. A la línia d’ordres, openssl s_client -connect example.com:443 -showcerts imprimeix tota la cadena; enganxa-hi els blocs aquí.

Quina diferència hi ha entre PEM i DER?

DER és la codificació binària del certificat. PEM són els mateixos bytes en Base64 entre línies BEGIN i END, cosa que és més fàcil de copiar i enganxar. L’eina llegeix tots dos i descodifica el mateix contingut.

Què és una CSR?

Una sol·licitud de signatura de certificat és el que envies a una autoritat de certificació: conté el subjecte sol·licitat, la clau pública i, sovint, els SAN sol·licitats. Encara no té emissor, validesa ni número de sèrie; els afegeix l’autoritat.

Per què el meu navegador diu que el certificat no és vàlid si les dates són correctes?

Les dates són només una comprovació. El nom de l’amfitrió ha d’aparèixer al Subject Alternative Name, la cadena ha de portar a una arrel de confiança (un intermedi que falta és una causa freqüent), l’ús de la clau ha de permetre TLS, i el certificat no ha d’estar revocat.

És segur enganxar aquí un certificat?

Sí. Un certificat és informació pública que els servidors envien a tots els visitants, i aquesta eina el processa en local sense pujar-lo. Només les claus privades s’han de mantenir en secret.