Inspector de Certificados
o

Acerca de esta herramienta

Inspecciona certificados SSL/TLS descargándolos desde una URL o pegando datos codificados en PEM. La herramienta decodifica la estructura ASN.1 DER completamente en tu navegador y proporciona un análisis exhaustivo que incluye una evaluación de seguridad.

¿Qué información muestra?

  • Estado de validez — válido, próximo a expirar o expirado, con días restantes

  • Sujeto y emisor — nombres distinguidos con desglose de CN, O, C

  • Subject Alternative Names — todos los nombres DNS, IPs, correos, URIs

  • Clave pública — algoritmo (RSA/EC/Ed25519), tamaño de clave, curva, algoritmo de firma

  • Key Usage y Extended Key Usage — firma digital, autenticación de servidor/cliente

  • Authority Info Access — URLs de OCSP y CA Issuer

  • Certificate Transparency — comprobación de presencia de SCT

  • Huella SHA-256 — calculada en el navegador mediante Web Crypto

  • Evaluación de seguridad — fortaleza de clave, algoritmo de firma, duración de validez, cumplimiento de CT

¿Cómo se usa?

  1. Introduce una URL y haz clic en Obtener para descargar el certificado, o pega datos PEM directamente

  2. Haz clic en Inspeccionar certificado para decodificar y analizar

  3. Revisa todos los detalles del certificado y los hallazgos de seguridad

Privacidad

Todo el análisis y la decodificación del certificado ocurren completamente en tu navegador. Al obtener por URL, se utilizan APIs públicas de logs CT (certspotter, crt.sh) — sin proxy del lado del servidor. Para certificados privados o internos, usa la opción de pegar PEM o los comandos openssl que se muestran a continuación.

Referencia de comandos Linux

Puedes inspeccionar certificados desde la terminal usando openssl:

Descargar y guardar certificado

echo | openssl s_client -connect jmrp.io:443 -servername jmrp.io 2>/dev/null | openssl x509 > cert.pem
(certificado guardado en cert.pem)

Resumen rápido del certificado

echo | openssl s_client -connect jmrp.io:443 -servername jmrp.io 2>/dev/null | openssl x509 -noout -subject -issuer -dates -fingerprint -sha256
subject=CN=jmrp.ioissuer=C=US, O=Let's Encrypt, CN=E7notBefore=Jan 3 14:02:05 2026 GMTnotAfter=Apr 3 14:02:04 2026 GMTsha256 Fingerprint=31:B2:A8:53:45:F8:CE:34:AE:20:FE:83:31:07:9C:5D:66:56:DB:29:...

Ver Subject Alternative Names

echo | openssl s_client -connect jmrp.io:443 -servername jmrp.io 2>/dev/null | openssl x509 -noout -ext subjectAltName
X509v3 Subject Alternative Name: DNS:*.jmrp.io, DNS:jmrp.io

Detalles completos del certificado

echo | openssl s_client -connect jmrp.io:443 -servername jmrp.io 2>/dev/null | openssl x509 -noout -text | head -25
Certificate: Data: Version: 3 (0x2) Serial Number: 05:fc:45:dd:04:c9:dc:90:3a:35:bd:76:be:e2:1b:f7:e6:b6 Signature Algorithm: ecdsa-with-SHA384 Issuer: C=US, O=Let's Encrypt, CN=E7 Validity Not Before: Jan 3 14:02:05 2026 GMT Not After : Apr 3 14:02:04 2026 GMT Subject: CN=jmrp.io Subject Public Key Info: Public Key Algorithm: id-ecPublicKey Public-Key: (256 bit) ASN1 OID: prime256v1 NIST CURVE: P-256

Comprobar expiración (30 días)

# Comprobar si el certificado expira en 30 días (2592000 segundos)
echo | openssl s_client -connect jmrp.io:443 -servername jmrp.io 2>/dev/null | openssl x509 -noout -checkend 2592000
# Código de salida 0 = OK, 1 = expira pronto
Certificate will not expire

Handshake TLS y cadena

echo | openssl s_client -connect jmrp.io:443 -servername jmrp.io 2>&1 | grep -E "Protocol|Cipher|Verify|depth"
depth=2 C=US, O=Internet Security Research Group, CN=ISRG Root X1depth=1 C=US, O=Let's Encrypt, CN=E7depth=0 CN=jmrp.ioNew, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384Protocol: TLSv1.3Verify return code: 0 (ok)

Verificar cadena de certificados

# Verificar un certificado contra el paquete de CA del sistema
openssl verify cert.pem
# Verificar con cadena CA explícita
openssl verify -CAfile chain.pem cert.pem
cert.pem: OK

Monitorizar expiración (script cron)

# Añadir al crontab: comprobar diariamente, alertar si expira en 14 días
for domain in jmrp.io example.com; do
if ! echo | openssl s_client -connect "$domain:443" \
-servername "$domain" 2>/dev/null | \
openssl x509 -noout -checkend 1209600 2>/dev/null; then
echo "AVISO: el certificado de $domain expira en 14 días"
fi
done
(sin salida = todos los certificados OK)

Relacionado

Consulta

Asegurar Nginx con certificados de cliente

para una guía sobre autenticación TLS mutua.

Preguntas frecuentes

¿Se sube mi certificado a un servidor?

No. Todo el análisis ASN.1/DER, el cálculo de la huella SHA-256 y la evaluación de seguridad se ejecutan completamente en tu navegador. Los datos PEM pegados nunca salen de tu dispositivo.

¿Puedo inspeccionar un certificado privado o interno?

Sí. Pega los datos codificados en PEM directamente en lugar de obtenerlos por URL. La obtención por URL depende de APIs públicas de logs de Certificate Transparency (certspotter, crt.sh) y solo funciona con certificados registrados públicamente.

¿Qué comprueba la evaluación de seguridad?

Evalúa la fortaleza de la clave, el algoritmo de firma, la duración de la validez y el cumplimiento de Certificate Transparency (SCT), señalando claves débiles, algoritmos obsoletos y periodos de validez demasiado largos.

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

Un SAN enumera todos los nombres de host, IPs, correos o URIs para los que el certificado es válido. Los navegadores modernos ignoran el Common Name y comparan el host solicitado con las entradas SAN, por lo que un SAN ausente provoca errores de confianza.

¿Cómo inspecciono un certificado sin esta herramienta?

Usa OpenSSL desde la terminal, por ejemplo "openssl s_client -connect host:443" canalizado a "openssl x509 -noout -text". La referencia de comandos Linux de arriba incluye fragmentos listos para usar.