Analizador de certificados
Los certificados X.509 son el formato estándar para certificados de clave pública utilizados en TLS/SSL. Esta herramienta analiza certificados codificados en PEM para mostrar el sujeto, emisor, periodo de validez, detalles de clave pública y extensiones. Esencial para depurar problemas de conexión HTTPS.
Especificaciones
Casos de uso comunes
- Depurar errores de conexión SSL/TLS ("el certificado ha expirado")
- Verificar que el certificado cubra los nombres de dominio correctos
- Comprobar fechas de expiración del certificado para planificar renovaciones
- Inspeccionar certificados intermedios y raíz en una cadena
- Verificar que los atributos del certificado cumplan los requisitos de conformidad
Funcionalidades
- Analizar certificados codificados en PEM (-----BEGIN CERTIFICATE-----)
- Mostrar nombres distinguidos del sujeto y emisor
- Mostrar periodo de validez (No antes de / No después de)
- Extraer algoritmo y tamaño de clave pública
- Mostrar Nombres Alternativos del Sujeto (SANs)
- Mostrar extensiones del certificado (Uso de clave, Uso de clave extendido, Restricciones básicas)
- Visualización de Identificador de clave de autoridad/sujeto
- Puntos de distribución de CRL y URLs de Acceso a Información de Autoridad
Ejemplos
Certificado autofirmado
Pruébalo →Un certificado X.509 para example.com con Nombres Alternativos del Sujeto.
-----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-----Clave privada
Pruébalo →Una clave privada RSA correspondiente en 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-----Consejos
- Exportar un certificado desde el navegador: clic en el candado > Certificado > Detalles > Exportar.
- Obtener el certificado de un sitio con: openssl s_client -connect example.com:443
- Los SANs (Nombres Alternativos del Sujeto) listan todos los nombres de dominio válidos.
- Los certificados raíz son autofirmados (emisor = sujeto).
- Verificar la cadena de certificados con: openssl verify -CAfile ca.pem cert.pem
Comprender Analizador de certificados
Los certificados X.509 son la base de la confianza en internet, habilitando el cifrado TLS/SSL para conexiones HTTPS, firma de código, seguridad de correo electrónico (S/MIME) y autenticación VPN. Un certificado vincula una clave pública a una identidad (nombre de dominio, organización o individuo), y una Autoridad de Certificación (CA) avala este vínculo firmando digitalmente el certificado.
Los certificados se almacenan típicamente en formato PEM — datos DER codificados en Base64 encerrados entre marcadores -----BEGIN CERTIFICATE----- y -----END CERTIFICATE-----. Un certificado contiene el sujeto (a quién identifica el certificado), el emisor (quién lo firmó), un periodo de validez (fechas No Antes De y No Después De), la clave pública del sujeto y extensiones que controlan el uso. La extensión de Nombre Alternativo del Sujeto (SAN) lista todos los nombres de dominio que el certificado cubre.
Las cadenas de certificados establecen confianza vinculando un certificado de entidad final a una CA raíz de confianza a través de una o más CAs intermedias. Cuando un navegador se conecta a un sitio web, verifica la cadena: el certificado del servidor fue firmado por una CA intermedia, que fue firmada por una CA raíz en la que el navegador confía. Una cadena rota — intermedios faltantes o una raíz desconocida — causa el familiar error "Su conexión no es privada".
La gestión de certificados es una fuente común de interrupciones. Los certificados expirados causan interrupciones de servicio inmediatas. Los nombres de dominio no coincidentes provocan advertencias del navegador. Los certificados intermedios faltantes funcionan en algunos navegadores (que pueden almacenarlos en caché o recuperarlos) pero fallan en otros y en clientes de API. Monitorear la expiración de certificados y automatizar la renovación con herramientas como Let's Encrypt y certbot es esencial para operaciones confiables.
Para verificar cuándo expira un certificado, pegue el contenido PEM en esta herramienta y observe la fecha No Después De. Desde la línea de comandos, ejecute openssl x509 -enddate -noout -in cert.pem para un archivo local, u openssl s_client -connect example.com:443 canalizado a openssl x509 -noout -enddate para un servidor remoto. El monitoreo automatizado a través de certbot, cert-manager o servicios de monitoreo dedicados puede alertar con anticipación antes de la expiración para prevenir interrupciones.
Los certificados raíz son autofirmados (el emisor es igual al sujeto) y vienen preinstalados en navegadores y sistemas operativos como anclas de confianza. Los certificados intermedios son firmados por una CA raíz y se usan para firmar certificados de entidad final. Esta cadena de confianza protege la clave raíz — si un intermedio se ve comprometido, solo ese intermedio se revoca en lugar de la raíz. Los servidores deben enviar la cadena completa (entidad final más todos los intermedios) pero no deben incluir el certificado raíz en sí.
Los Nombres Alternativos del Sujeto (SANs) listan todos los nombres de dominio y direcciones IP para los que un certificado es válido. Un solo certificado puede proteger múltiples dominios como example.com, www.example.com y api.example.com usando SANs. Los navegadores modernos usan SANs en lugar del campo Nombre Común (CN) para la validación de dominio. Los certificados comodín (*.example.com) cubren un nivel de subdominios pero no el dominio apex en sí.
Un certificado que funciona en navegadores pero falla en clientes de API es un problema común causado por cadenas de certificados incompletas. Los navegadores son más tolerantes — algunos recuperan intermedios faltantes automáticamente a través de AIA (Acceso a Información de Autoridad) o usan intermedios previamente almacenados en caché. Los clientes de API como curl, Node.js y la biblioteca requests de Python típicamente requieren que el servidor envíe la cadena completa. Asegúrese de que su servidor esté configurado para enviar el certificado de entidad final más todos los certificados intermedios, y pruebe con curl -v u openssl s_client para verificar que la cadena esté completa.