Utilia

Decodificador de certificados X.509

Decodifica un certificado SSL/TLS, una cadena o una CSR en tu navegador. Ve el sujeto, el emisor, la caducidad, el SAN, la clave pública y la huella SHA-256.

Los certificados se decodifican en tu navegador. No se sube nada, así que los certificados internos y las CSR se quedan en tu ordenador.

Esta herramienta lee el certificado, pero no verifica su firma ni su cadena de confianza: un certificado decodificado no demuestra que sea auténtico.

Cómo decodificar un certificado

  1. Pega un certificado en Certificado, cadena o CSR (PEM o Base64) o suelta un archivo en la zona de carga. Se aceptan texto PEM (-----BEGIN CERTIFICATE-----), DER binario (.der, .cer), solicitudes de firma de certificado (.csr) y paquetes PKCS#7 (.p7b).
  2. Pulsa Decodificar. Un bloque PEM pegado también se decodifica en cuanto su línea -----END …----- está completa. Cargar un ejemplo muestra un certificado de prueba.
  3. Cada certificado o CSR tiene su propia tabla. Una etiqueta muestra Fechas válidas, Caducado o Aún no válido, y Copiar PEM lo copia de nuevo en PEM (útil tras abrir un archivo DER binario).
  4. En una cadena (un certificado de servidor seguido de sus intermedios), cada bloque se decodifica por orden, y la herramienta indica Emitido por el certificado n cuando el emisor de un certificado coincide con el sujeto de otro de la lista.

Qué significan los campos

  • Sujeto y Emisor son nombres distintivos: CN (nombre común), O (organización), OU, L (ciudad), ST (estado o provincia), C (país). Un certificado cuyo emisor es igual a su sujeto se marca como Autofirmado.
  • Válido desde y Válido hasta son las fechas notBefore y notAfter, mostradas en tu zona horaria, con los días que quedan. Desde 2020, los navegadores rechazan los certificados TLS públicos con una validez de más de 398 días, y el CA/Browser Forum está acortando aún más ese límite.
  • Número de serie se muestra en hexadecimal (como en los navegadores y OpenSSL) y en decimal.
  • Algoritmo de firma y Clave pública: para RSA, el tamaño del módulo (2048, 3072, 4096 bits) y el exponente público (casi siempre 65537); para curvas elípticas, la curva (P-256, P-384…); también se reconoce Ed25519.
  • Extensiones: Subject Alternative Name (los nombres de host, direcciones IP y correos electrónicos que cubre el certificado; los navegadores ignoran el CN y solo usan el SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE para una autoridad), los identificadores de clave del sujeto y de la autoridad, CRL Distribution Points, Authority Information Access (respondedor OCSP y URL de CA Issuers) y Certificate Policies (DV, OV, EV). Las extensiones marcadas como crítica deben ser comprendidas por cualquier software que use el certificado.
  • Huella SHA-1 y Huella SHA-256 son hashes del certificado DER completo, calculados con la API Web Crypto del navegador; coinciden con openssl x509 -fingerprint. Pin de clave pública es el SHA-256 en Base64 de la información de la clave pública, el formato que se usa para el anclaje de certificados (certificate pinning).

Decodificar no es verificar

Esta herramienta es un simple analizador ASN.1/DER. No comprueba la firma, no construye una cadena de confianza hasta una autoridad raíz y no consulta listas de revocación ni OCSP, porque eso requeriría acceso a la red. Úsala para inspeccionar un certificado, averiguar por qué no coincide un nombre de host o cuándo caduca, no para decidir si es de confianza. Las claves privadas se rechazan a propósito: si pegas un bloque PRIVATE KEY, no se decodifica, y deberías considerarla comprometida si alguna vez la compartiste.

Preguntas frecuentes

¿Cómo obtengo el certificado de un sitio web?

En la mayoría de los navegadores, haz clic en el candado, abre el visor de certificados y expórtalo en PEM. En la línea de comandos, openssl s_client -connect example.com:443 -showcerts muestra la cadena completa; pega aquí los bloques.

¿Qué diferencia hay entre PEM y DER?

DER es la codificación binaria del certificado. PEM son esos mismos bytes en Base64 entre las líneas BEGIN y END, lo que facilita copiarlos y pegarlos. La herramienta lee ambos y decodifica el mismo contenido.

¿Qué es una CSR?

Una solicitud de firma de certificado (CSR) es lo que envías a una autoridad de certificación: contiene el sujeto solicitado, la clave pública y, a menudo, los SAN solicitados. Todavía no tiene emisor, validez ni número de serie; eso lo añade la autoridad.

¿Por qué mi navegador dice que el certificado no es válido si las fechas están bien?

Las fechas son solo una de las comprobaciones. El nombre de host debe aparecer en el Subject Alternative Name, la cadena debe llegar a una raíz de confianza (la falta de un intermedio es una causa habitual), el uso de la clave debe permitir TLS y el certificado no debe estar revocado.

¿Es seguro pegar aquí un certificado?

Sí. Un certificado es información pública que los servidores envían a cada visitante, y esta herramienta lo procesa localmente sin subirlo. Solo las claves privadas deben mantenerse en secreto.