Decodificador de certificados SSL: lee archivos PEM, CRT y CSR

Pega un certificado PEM, una cadena o un CSR, o sube un archivo .crt, para ver los SAN, la caducidad, el emisor, el tipo de clave y las huellas. Se decodifica en tu navegador.

Solo hacen falta certificados y CSR. Nunca pegues una clave privada en un sitio web; si lo haces aquí, se ignora.

Cargando el decodificador…

Funciona por completo en tu navegador. Los certificados se decodifican en local; no se sube nada y no se hacen consultas OCSP ni CT. Ver todas las herramientas gratis.

¿Encontraste un problema o algo que podría mejorar? Leemos todos los mensajes y lo arreglamos rápido.

Este decodificador de certificados SSL gratis lee un certificado X.509 y muestra lo que contiene: los nombres de dominio que cubre (Subject Alternative Names), quién lo emitió, cuándo caduca y cuántos días quedan, el tipo y el tamaño de la clave, las extensiones y sus huellas SHA-256 y SHA-1. Pega texto PEM, una cadena completa de un fullchain.pem o una solicitud de firma de certificado (CSR) antes de enviarla a una CA. También puedes subir archivos .crt, .cer, .der y .pem.

La decodificación se hace en tu navegador; no se sube nada ni se hacen consultas de red. Eso también significa que la herramienta informa de lo que dice el certificado, no de si es de confianza: no verifica firmas, no comprueba la revocación (OCSP o CRL) ni consulta los registros de Certificate Transparency. En una cadena, comprueba que el nombre del emisor de cada certificado coincide con el sujeto del siguiente, lo que detecta el error de orden más habitual. Lee certificados RSA, ECDSA y Ed25519, a diferencia de muchos decodificadores en JavaScript que solo manejan RSA.

Cómo usarla

  1. Pega un certificado que empiece por -----BEGIN CERTIFICATE-----, varios, o un CSR que empiece por -----BEGIN CERTIFICATE REQUEST-----. O haz clic en Subir y elige un archivo .crt, .cer, .der o .pem.
  2. Revisa la línea de estado de color de cada certificado: válido con los días que quedan, caduca pronto (menos de 30 días), caducado o todavía no válido.
  3. Confirma que los Subject Alternative Names incluyen todos los nombres de host que debe cubrir el certificado. Los navegadores ignoran el Common Name.
  4. En una cadena, lee el recuadro Orden de la cadena: primero debe ir el certificado del servidor y después cada emisor por orden.
  5. Copia una huella o el PEM de cualquier certificado con los botones de su tarjeta.

Preguntas frecuentes

¿Cómo compruebo cuándo caduca un certificado SSL?

Pega aquí el certificado y lee la línea Válido hasta y el estado que aparece encima, que muestra los días que quedan. Para obtener el certificado que sirve un sitio en producción, ejecuta openssl s_client -connect example.com:443 -servername example.com -showcerts o, en el navegador, haz clic en el candado (o en el icono de configuración del sitio), abre el visor de certificados y expórtalo. También puedes comprobarlo desde la línea de comandos con openssl x509 -in cert.pem -noout -enddate.

¿Qué diferencia hay entre PEM, DER, CRT y CER?

PEM y DER son codificaciones; CRT y CER son solo extensiones de archivo. DER es la forma binaria del certificado. PEM son esos mismos bytes en Base64 entre las líneas -----BEGIN CERTIFICATE----- y -----END CERTIFICATE-----, y un archivo PEM puede contener varios certificados. Un archivo .crt o .cer puede contener cualquiera de las dos codificaciones (en Windows, .cer suele indicar DER). Este decodificador acepta ambas.

¿Qué es un Subject Alternative Name (SAN)?

La extensión SAN enumera todos los nombres de host y direcciones IP para los que es válido el certificado, como example.com, www.example.com y *.example.com. Los navegadores solo comprueban esta lista; Chrome ignora el Common Name del sujeto desde la versión 58 (2017). Un certificado sin un SAN que coincida falla con un error de discrepancia de nombre aunque el Common Name sea correcto.

¿Qué es la huella de un certificado?

Un hash del certificado completo en su forma DER, mostrado en hexadecimal. Identifica un certificado exacto: si un solo byte cambia, la huella cambia. Las huellas SHA-256 son el estándar actual; algunas herramientas y sistemas antiguos todavía muestran huellas SHA-1. Las huellas no son secretas. El pin SPKI que se muestra aquí es distinto: solo calcula el hash de la clave pública, así que no cambia cuando se renueva un certificado con la misma clave.

¿Cuánto tiempo puede ser válido un certificado SSL?

Para los certificados TLS de confianza pública, el límite del CA/Browser Forum era de 398 días desde septiembre de 2020. La votación SC-081 lo reduce por etapas: 200 días para los certificados emitidos a partir del 15 de marzo de 2026, 100 días a partir del 15 de marzo de 2027 y 47 días a partir del 15 de marzo de 2029. Los certificados de una CA privada o interna no están sujetos a estos límites. Esta herramienta avisa cuando un certificado final supera el límite correspondiente a su fecha de emisión.

¿Es seguro pegar aquí mi certificado?

Sí. Un certificado es público por diseño: lo recibe cualquier visitante de tu sitio. Además, la decodificación se hace en local en tu navegador. La clave privada es otra cosa: nunca pegues una clave privada en ningún sitio web. Si se incluye una en lo que pegas, esta herramienta la ignora y te avisa.

Cómo leer un certificado: qué significa cada campo

• Subject e Issuer: nombres distinguidos. CN es el nombre común, O la organización, C el país. En un certificado autofirmado o raíz son idénticos.

• Validez: Not Before y Not After, en UTC. Los clientes rechazan el certificado fuera de ese intervalo, así que un reloj mal puesto en un dispositivo puede hacer que falle un certificado válido.

• Número de serie: único por CA; es lo que cita una lista de revocación.

• Clave pública: las claves RSA tienen 2048 bits o más; las claves ECDSA usan una curva con nombre, normalmente P-256 o P-384, y son mucho más cortas para una seguridad similar. Ed25519 todavía se usa poco en TLS público.

• Key usage y extended key usage: lo que puede hacer la clave. Un certificado de servidor TLS necesita TLS Web Server Authentication; un certificado de CA necesita Certificate Sign.

• Basic constraints: CA:TRUE marca un certificado que puede emitir otros; una longitud de ruta limita cuántos intermedios pueden seguirle.

• Authority Information Access: dónde obtener el certificado del emisor (CA Issuers) y dónde consultar la revocación (OCSP).

Cómo arreglar problemas de cadena

La mayoría de los errores de “certificado no fiable” que funcionan en un navegador pero fallan en otro, o en curl, vienen de la cadena que envía el servidor. El servidor debe enviar primero su propio certificado, después el intermedio que lo emitió, y así sucesivamente; no necesita enviar la raíz, que los clientes ya tienen. Los navegadores a veces pueden descargar por su cuenta un intermedio que falta (usando la URL AIA), pero curl, Java, Python y la mayoría de las apps móviles no, así que fallan.

Pega aquí la cadena completa del servidor (en Let’s Encrypt, fullchain.pem; en otras CA, tu certificado seguido del paquete de la CA) y comprueba que cada línea “emitido por” está en verde. Si el orden es incorrecto, reordena los bloques PEM en la configuración de tu servidor. Si falta un eslabón, añade el certificado intermedio que proporciona tu CA.

Herramientas gratis relacionadas

  • Decodificador de JWT — Decodifica la cabecera y el payload de un JWT, lee la caducidad en lenguaje claro, verifica firmas HS, RS, PS y ES o firma un token nuevo. Nada sale de tu navegador.
  • Codificador / decodificador Base64 — Codifica texto o archivos en Base64, convierte imágenes en data URI con fragmentos CSS e <img>, y decodifica Base64 a un archivo con vista previa. Nada sale de tu navegador.
  • Generador de contraseñas — Genera una contraseña aleatoria segura, una frase de contraseña fácil de recordar o un PIN. Funciona por completo en tu navegador: no se envía ni se guarda nada.
  • curl a código — Pega un comando curl, incluido el "Copy as cURL" de Chrome, y obtén la misma petición en Python, JavaScript, Node, Go, PHP, Ruby, Java, C#, wget o HTTPie.
  • Validador de YAML — Valida YAML con la línea y la columna exactas de cada error, y detecta los fallos que los analizadores aceptan sin avisar: booleanos yes/no, tabulaciones, claves duplicadas.