Security

Comprobador SSL

Inspecciona cadena de certificados, expiración y algoritmo.

Hostname host or host:port (default 443)
github.com:443
TLSv1.3 expires in 66d
Verdict
  • Certificate is valid for this host and not expired.
Subject?
github.com
Issuer?
Sectigo Public Server Authentication CA DV E36 — Sectigo Limited
Valid from
2026-07-03T00:00:00Z
Valid to?
2026-09-30T23:59:59Z
Signature algorithm?
ecdsa-with-SHA256
Public key?
EC 256 bits
Negotiated cipher?
TLS_AES_128_GCM_SHA256
Chain depth?
3
Hostname matches?
yes
Self-signed?
no
Subject Alternative Names?
  • github.com
  • www.github.com
Raw certificate (PEM)
-----BEGIN CERTIFICATE----- MIID7jCCA5SgAwIBAgIQcgEOA/SgZ/5OeWJmQwcY9jAKBggqhkjOPQQDAjBgMQsw CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5T ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRFYgRTM2MB4X DTI2MDcwMzAwMDAwMFoXDTI2MDkzMDIzNTk1OVowFTETMBEGA1UEAxMKZ2l0aHVi LmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIWWMDSOi/1sMgquP4I/obBM 735wpzcIZi4fLeiBsToXVVSwjj4OPH+W6azHzxETM0gUP7raehddpJ8uwjqYsTij ggJ5MIICdTAfBgNVHSMEGDAWgBQXmagEwW/kLXCoChA9A9PpGrgmYzAdBgNVHQ4E FgQUEKU6Ytbv1gZWnty4gvzCe2hdPWkwDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB /wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwSQYDVR0gBEIwQDA0BgsrBgEEAbIx AQICBzAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZn gQwBAgEwgYQGCCsGAQUFBwEBBHgwdjBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5z ZWN0aWdvLmNvbS9TZWN0aWdvUHVibGljU2VydmVyQXV0aGVudGljYXRpb25DQURW RTM2LmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wggEF BgorBgEEAdZ5AgQCBIH2BIHzAPEAdgDXbX0Q0af1d8LH6V/XAL/5gskzWmXh0LMB cxfAyMVpdwAAAZ8lTHVtAAAEAwBHMEUCIQCkpa0ZYNwsPiMRLHz+kk1QS/W9bg/8 4yNBVGkT289dNQIgMWLgxYp6vGJXJxyD3c1NI1aZsPA7GqyLSXaZLZHgKh0AdwDI o8R/x7OtuTVrAT9qehJt4zpOQ6XGRvmXrTl1mR3PmgAAAZ8lTHVhAAAEAwBIMEYC IQDsO+TR8EVfCiObBPoDLRKzKLQ/uorsebJ2aZDIejA9RgIhAJ6dp7FqCD93tQXX AF24pDIms1fX4dZ+VPzXGuD8u8t1MCUGA1UdEQQeMByCCmdpdGh1Yi5jb22CDnd3 dy5naXRodWIuY29tMAoGCCqGSM49BAMCA0gAMEUCIB0PC2GRSurxu8gCkSNsYxmw kAtCNfCvpXRiif8PhGkmAiEAzBH4AVYAtv1FsMrJabD9FYcAql0EteKafckH2exj Uag= -----END CERTIFICATE-----
What does each field mean?

Field reference

Subject (sujeto del certificado)

El campo Subject identifica al titular del certificado. Los certificados modernos se basan en el CN (Common Name) más los Subject Alternative Names. Organization (O), Organizational Unit (OU) y Locality (L) aparecen en certificados EV/OV y están ausentes en los DV (gratuitos) tipo Let's Encrypt.

Issuer (emisor)

Identifica a la CA que respaldó al sujeto. Los navegadores incluyen una lista de CA raíz de confianza; los certificados firmados por un emisor no confiable (o autofirmados) provocan NET::ERR_CERT_AUTHORITY_INVALID. CA públicas frecuentes: Let's Encrypt, DigiCert, Sectigo, GlobalSign, GoDaddy.

Subject Alt Names (SAN)

Un único certificado puede cubrir varios hosts mediante la extensión SAN: típico en wildcards (<code>*.example.com</code>) o multi-dominio (SAN). Desde 2017, los navegadores ignoran el Common Name y solo cotejan las entradas SAN. Si tu host no aparece aquí, el certificado no es válido para él.

Profundidad de la cadena

La cadena de confianza arranca con el certificado leaf del servidor, atraviesa una o varias CA intermedias y termina en una CA raíz del trust store del navegador. La profundidad 2 (leaf + 1 intermedia) es la habitual. Si el servidor olvida enviar las intermedias, los clientes muestran error de "cadena incompleta".

Algoritmo de firma

Describe cómo firmó la CA el certificado. <code>sha256WithRSAEncryption</code> (RSA + SHA-256) es el estándar seguro. <code>ecdsa-with-SHA256</code> usa curvas elípticas: claves más cortas con la misma seguridad. <code>sha1WithRSAEncryption</code> está roto desde 2017 y todos los navegadores principales lo rechazan.

Clave pública

La mitad pública del par de claves. RSA 2048 bits es el mínimo práctico actual; 3072+ para claves de larga duración. EC P-256 es más corta (~256 bits de fortaleza equivalente) y más rápida. Todo lo inferior a RSA 2048 o más antiguo que P-256 debe sustituirse.

Cifrado negociado

Describe el cifrado real de los datos: intercambio de claves (ECDHE), cifrado (AES_256_GCM, CHACHA20_POLY1305), MAC (SHA384). Los cipher suites con forward secrecy (ECDHE-*) son exigidos por la mayoría de estándares de seguridad. Las suites basadas en CBC o RC4 están obsoletas.

Coincidencia de hostname

Incluso un certificado plenamente válido se rechaza si el hostname solicitado no figura en la lista SAN. Los wildcards cubren exactamente una etiqueta DNS: <code>*.example.com</code> cubre <code>www.example.com</code> pero NO <code>a.b.example.com</code> ni el dominio desnudo <code>example.com</code>.

Autofirmado

En un certificado autofirmado, Subject e Issuer coinciden. Los navegadores no lo aceptan por defecto: aparecerá "NET::ERR_CERT_AUTHORITY_INVALID". Aceptable en entornos internos o de staging donde controlas servidor y cliente. Para producción, usa Let's Encrypt (gratis) o una CA pública.

Válido hasta (expiración)

Los navegadores rechazan sin contemplaciones los certificados caducados. Los certificados de CA públicas suelen durar entre 90 y 397 días. Configura la renovación automática: ACME / Let's Encrypt a 60 días del vencimiento, CA comerciales a 30. Atento al cambio progresivo del sector hacia los 90 días obligatorios para 2027.

Totalmente válido

Todas las comprobaciones básicas son correctas: la cadena de confianza ancla en una raíz aceptada por el navegador, el hostname coincide con la SAN, está dentro de su ventana de validez y el algoritmo de firma es aceptable. Este es el estado de "candado verde" que muestran los navegadores.

Sobre esta herramienta

SSL Checker abre una conexión TLS real con su host, captura la cadena de certificados que presenta el servidor y reporta todo lo que importa: subject, emisor, fechas de validez, la cadena completa de intermedios hasta el ancla de confianza, algoritmo de firma, tamaño de clave pública, versiones TLS y suites de cifrado soportadas, Subject Alternative Names y estado de OCSP stapling. La comprobación ocurre en el servidor desde nuestro host de Frankfurt, así que ve exactamente lo que ve un visitante remoto — no lo que su navegador cacheó.

Un certificado limpio no es solo «el candado verde». Validamos la coincidencia del hostname contra los SAN (el campo legado CN es solo informativo, según RFC 6125), comprobamos que cada eslabón de la cadena está firmado por el siguiente, verificamos que los intermedios se presentan en el orden correcto (un error común de despliegue), confirmamos que la hoja no ha expirado y no es aún inválida, y advertimos si la hoja usa una firma débil (SHA-1) o clave infradimensionada (RSA < 2048 bits). Todo esto en un único handshake HTTPS.

Cuándo utilizar esta herramienta

  • Verificación previa al despliegue. Tras provisionar Let's Encrypt o comprar un certificado comercial, confirme que la cadena está completa antes de dirigir usuarios reales hacia él.
  • Monitorización de expiración. Detecte certs que expirarán en los próximos 7/14/30 días y renueve antes de que salten las alarmas.
  • Depuración de mixed-content. Encuentre subdominios que presentan un cert distinto (o autofirmado) del sitio principal.
  • Comprobaciones de migración. Tras mudarse a un nuevo CDN o balanceador, verifique que el nuevo cert y la cadena son lo que espera.

Qué significa realmente «cadena incompleta»

Los navegadores y los almacenes de confianza del SO traen unos cientos de CA raíz. Su certificado hoja está firmado por un intermedio, que está firmado por otro intermedio o directamente por una raíz. El servidor web debe enviar la hoja + todos los intermedios hasta (sin incluir) la raíz — Firefox y Chrome intentarán recuperar los intermedios que faltan desde la extensión AIA, pero iOS, Android antiguo y la mayoría de clientes TLS no-navegador rechazarán el handshake. Nuestro inspector de cadena le dice exactamente qué eslabón falta, para que pueda pegar el intermedio correcto en la configuración de su servidor.

Preguntas frecuentes

Mi navegador muestra el candado pero su herramienta dice «cadena incompleta» — ¿quién tiene razón?

Ambos. Los navegadores de escritorio modernos parchean cadenas incompletas recuperando intermedios faltantes mediante la extensión AIA o desde sus propios cachés — el usuario ve un candado funcional. Pero Safari en iOS, muchas apps Android, curl, clientes OpenSSL y bibliotecas TLS no-navegador no hacen esto. Si nuestra herramienta dice «incompleta», su sitio fallará en una fracción no trivial de clientes; arréglelo sirviendo la cadena completa desde el servidor.

¿Qué es OCSP stapling?

Una forma de que el servidor adjunte una prueba de validez reciente firmada por la CA al certificado durante el handshake TLS — así el navegador no tiene que llamar al respondedor OCSP de la CA en cada conexión. El stapling acelera la carga de páginas y protege la privacidad del usuario (la CA nunca aprende qué sitios visita el usuario). La mayoría de servidores web modernos (nginx, Apache 2.4, Caddy) lo soportan; muchos lo activan por defecto.

¿Cada cuánto debería comprobar?

Una vez por semana basta para producción. Los certs de Let's Encrypt se renuevan cada 60–90 días, los comerciales cada 12 meses; en cualquier caso una expiración no detectada es el modo más común de fallo SSL. Cacheamos los resultados durante 10 minutos, así que una recomprobación rápida tras un despliegue da feedback inmediato. Combínelo con un monitor automatizado (Uptime Kuma, StatusCake) para alertas proactivas.

¿Por qué la herramienta no valida contra mi CA privada?

Usamos el bundle estándar de CA públicas (el de Mozilla, que también usan la mayoría de SO). Las CA privadas — raíces corporativas internas, ACME-CA en un homelab — no están en ningún almacén público, así que la validación de cadena las marcará (correctamente) como no confiables. Los detalles del certificado (subject, fechas, tamaño de clave) se siguen reportando; solo falla la comprobación del ancla de confianza.