raatools/

Verificador de certificado SSL

Verifica los detalles del certificado SSL/TLS para cualquier dominio.

¿Qué es un comprobador de certificados SSL?

SSL (Secure Sockets Layer) y su sucesor TLS (Transport Layer Security) cifran la conexión entre un navegador web y un servidor, protegiendo los datos en tránsito de escuchas y manipulaciones. Un certificado SSL es la credencial que permite esta conexión segura, certificada por una Autoridad de Certificación (CA) confiable.

Cuando visitas un sitio con HTTPS, tu navegador verifica el certificado SSL antes de establecer la conexión cifrada. Si el certificado ha expirado, fue emitido para un dominio distinto o está firmado por una CA en la que no se confía, el navegador muestra un aviso de seguridad. Esta herramienta te permite comprobar el estado del certificado SSL de cualquier sitio web.

Por qué importan HTTPS y TLS

TLS (Transport Layer Security) ofrece tres garantías fundamentales en cada conexión HTTPS. Primera, el cifrado: todos los datos intercambiados entre el navegador y el servidor se cifran de modo que cualquiera que intercepte el tráfico —en una red Wi-Fi de cafetería, por ejemplo— solo vea bytes ininteligibles. Segunda, la integridad: TLS usa códigos de autenticación de mensajes (MACs) para detectar manipulaciones en tránsito, asegurando que ni la solicitud ni la respuesta han sido modificadas. Tercera, la autenticación: el certificado permite al navegador verificar que está hablando con el servidor real y no con un impostor que realiza un ataque de intermediario (man-in-the-middle).

Más allá de la seguridad, HTTPS se ha convertido en una señal de posicionamiento para Google Search y en un requisito previo para funciones modernas del navegador como los Service Workers, la geolocalización y el acceso a la cámara. Navegadores como Chrome y Firefox marcan las páginas HTTP como «No es seguro», lo que erosiona la confianza del usuario y aumenta las tasas de abandono. Los sitios sin un certificado válido también pueden aparecer en las listas de bloqueo de inteligencia de amenazas utilizadas por los cortafuegos corporativos, cortando el acceso a audiencias enteras.

Qué informa el verificador en detalle

Una verificación completa de certificado SSL/TLS va más allá de un simple aprobado/suspenso. Esto es lo que indica cada campo:

  • Fechas de validez y vencimiento: el certificado contiene una marca de tiempo notBefore y notAfter. El verificador confirma que la fecha actual cae dentro de ese intervalo y muestra cuántos días quedan antes del vencimiento. Cualquier valor inferior a 30 días debe desencadenar una renovación inmediata.
  • Emisor y Autoridad de Certificación (CA): el campo del emisor identifica la CA que firmó el certificado; por ejemplo, «Let's Encrypt Authority X3», «DigiCert TLS RSA SHA256 2020 CA1» o «Sectigo RSA Domain Validation CA». Reconocer el emisor te ayuda a verificar que un sitio utiliza una CA de confianza y no una oscura o privada.
  • Sujeto y Nombres Alternativos del Sujeto (SANs): el CN (Common Name) del sujeto era históricamente el nombre de host para el que se emitía el certificado. Los certificados modernos se basan en los SANs, una lista de todos los dominios y subdominios que protege el certificado. Un único certificado puede cubrir tanto example.com como www.example.com, o decenas de subdominios. Una discrepancia entre el nombre de host al que te conectas y la lista de SANs provoca un error de nombre incompatible.
  • Cadena de confianza: los navegadores confían en un pequeño conjunto de CAs raíz preinstaladas en el sistema operativo. Tu certificado de servidor casi nunca está firmado directamente por una raíz; en cambio, está firmado por una CA intermedia, que a su vez está firmada por la raíz. El servidor debe enviar la cadena completa —el certificado hoja más todos los certificados intermedios— para que los navegadores puedan construir la ruta de confianza. Un intermedio faltante es una de las causas más comunes de errores de certificado en dispositivos móviles.
  • Tipo de clave y algoritmo de firma: el verificador muestra el algoritmo de clave pública (RSA de 2048 bits o RSA de 4096 bits son los más comunes; ECDSA P-256 es cada vez más popular por su rendimiento) y el algoritmo de firma utilizado por la CA (SHA-256 con RSA, por ejemplo). Las firmas SHA-1 han quedado obsoletas desde 2017 y provocarán errores en el navegador; SHA-256 es el estándar actual.

Qué comprueba esta herramienta

  • Validez del certificado — si el certificado es actualmente válido y no ha expirado.
  • Coincidencia de dominio — si el certificado cubre el dominio que introdujiste.
  • Cadena de certificados — si la cadena de confianza desde el certificado hasta una CA raíz está completa.
  • Fecha de expiración — cuántos días faltan para que expire el certificado.
  • Información del emisor — qué Autoridad de Certificación emitió el certificado.

Cómo usar esta herramienta

Introduce un nombre de dominio (como example.com) y la herramienta se conecta al servidor, recupera el certificado SSL y muestra sus detalles. Verás el sujeto, emisor, fechas de validez, tipo de certificado y la cadena completa de confianza. Cualquier problema (expiración, no coincidencia de dominio, cadena rota) se resalta.

Tipos de certificado

Los certificados de Validación de Dominio (DV) solo verifican la propiedad del dominio y son los más comunes (usados por Let's Encrypt). Los certificados de Validación de Organización (OV) verifican la organización tras el dominio. Los certificados de Validación Extendida (EV) requieren la verificación rigurosa de la entidad legal, antes mostrando el nombre de la empresa en verde en la barra de direcciones (ya no se muestra en navegadores modernos).

Errores de certificado comunes y qué significan

Las implementaciones de TLS en navegadores y servidores son estrictas. Los siguientes errores son los más frecuentes:

  • Certificado caducado (NET::ERR_CERT_DATE_INVALID): la fecha actual es posterior a la marca de tiempo notAfter. La conexión queda bloqueada por defecto en todos los navegadores principales. Solución: renueva el certificado de inmediato. Si usas Let's Encrypt, ejecuta certbot renew o comprueba por qué ha fallado tu cron job o temporizador systemd de renovación automática.
  • Nombre de host incompatible (NET::ERR_CERT_COMMON_NAME_INVALID): el dominio en la barra de direcciones no aparece en la lista de SANs del certificado. Causas comunes: el certificado se emitió para www.example.com pero el sitio también se sirve desde example.com (sin www), o se dejó un certificado antiguo en un servidor tras un cambio de dominio. Solución: vuelve a emitir el certificado incluyendo todos los nombres de host requeridos.
  • Certificado autofirmado: el certificado fue firmado por la misma clave que protege, en lugar de por una CA de confianza. Los navegadores no tienen forma de verificar la identidad, por lo que muestran una advertencia de «certificado no confiable». Los certificados autofirmados son aceptables en redes internas y entornos de desarrollo, pero nunca deben usarse en sitios de producción accesibles al público.
  • Raíz no confiable: el certificado fue emitido por una CA que no está en el almacén de confianza del navegador o del sistema operativo. Esto puede ocurrir con CAs privadas, algunas CAs nacionales que han sido eliminadas de los almacenes de confianza, o al usar una CA recién creada cuyo certificado raíz aún no se ha distribuido ampliamente. Solución: cambia a una CA pública de confianza reconocida.
  • Cadena de certificados incompleta: el servidor envía únicamente el certificado hoja sin los certificados de CA intermedia requeridos. El navegador no puede construir la ruta de confianza hasta una CA raíz. Los navegadores de escritorio a veces recuperan el intermedio faltante a través de AIA (Authority Information Access), pero los navegadores móviles y muchos clientes API no lo hacen. Solución: configura tu servidor web (nginx, Apache, Caddy) para que sirva el bundle completo de la cadena.

Renovación de certificados y automatización

Let's Encrypt, la CA gratuita, automatizada y abierta gestionada por el Internet Security Research Group (ISRG), ha transformado la gestión de certificados. Los certificados de Let's Encrypt tienen un período de validez de 90 días por diseño: la corta vida útil limita el daño en caso de una clave privada comprometida y fomenta la automatización. El protocolo ACME (Automated Certificate Management Environment, RFC 8555) permite que un cliente como Certbot, acme.sh o un balanceador de carga en la nube demuestre automáticamente el control del dominio (mediante retos HTTP-01 o DNS-01) y obtenga un certificado nuevo sin intervención humana. Cuando está bien configurado, los clientes ACME renuevan los certificados unos 30 días antes del vencimiento, haciendo innecesaria la renovación manual.

Incluso con la automatización, la monitorización es esencial. La automatización puede fallar silenciosamente por cambios en el cortafuegos, configuración incorrecta de DNS, agotamiento del límite de velocidad o una cuenta de servicio caducada. La mejor práctica es configurar un monitor externo de vencimiento —un cron job, un servicio de terceros o una herramienta de uptime— que te avise cuando la validez restante de un certificado caiga por debajo de 21 días. Detectar una renovación fallida con tres semanas de margen es mucho menos estresante que descubrir un certificado caducado a través de los usuarios.

Errores comunes que conviene evitar

  • Depender de recordatorios en el calendario en lugar de la automatización: las renovaciones gestionadas manualmente fallan cuando el ingeniero responsable está de vacaciones o cambia de trabajo. Usa un cliente ACME con un temporizador systemd o un cron job y verifica que el trabajo se está ejecutando realmente.
  • Desplegar una cadena de certificados incompleta: copiar solo el certificado hoja al servidor y omitir los certificados intermedios causa errores en dispositivos móviles y clientes que no son navegadores, aunque Chrome en escritorio pueda parecer que funciona bien (silenciosamente obtiene el intermedio faltante).
  • Olvidar los subdominios: emitir un certificado para example.com pero no para www.example.com, o viceversa, produce errores de nombre de host incompatible. Usa un certificado wildcard (*.example.com) o un certificado SAN que liste todos los nombres de host requeridos.
  • Ignorar los avisos de vencimiento: muchos clientes ACME envían un aviso por correo electrónico cuando un certificado está próximo a vencer y la renovación automática no se ha ejecutado. Estos correos son fáciles de perder en una bandeja de entrada saturada. Configura un canal de alertas dedicado (Slack, PagerDuty o similar) para las notificaciones de vencimiento de certificados.

Preguntas frecuentes

¿Qué pasa cuando expira un certificado SSL?

Los navegadores muestran un aviso de seguridad prominente que disuade a los visitantes de continuar. La mayoría de los usuarios se irán en lugar de saltarse el aviso, causando una pérdida significativa de tráfico. Los buscadores también pueden penalizar tu sitio o eliminarlo de los resultados. Las pasarelas de pago y APIs rechazan la conexión completamente. Renueva los certificados antes de que expiren.

¿Es SSL lo mismo que TLS?

SSL es el protocolo más antiguo (última versión: SSL 3.0 de 1996). TLS es el sucesor moderno (actual: TLS 1.3). Todas las versiones SSL se consideran ahora inseguras y obsoletas. Cuando la gente dice SSL hoy, normalmente se refiere a TLS, pero la terminología SSL persiste por costumbre. Todos los certificados SSL/TLS modernos usan TLS independientemente de su nombre.

¿Qué es una cadena de certificados y por qué importa?

Una cadena de certificados (o cadena de confianza) es la secuencia de certificados desde el certificado hoja de tu servidor hasta una CA raíz de confianza. Los navegadores solo confían en un pequeño número de CAs raíz, pero esas raíces firman CAs intermedias, que a su vez firman los certificados de servidor. Tu servidor web debe enviar el hoja más todos los certificados intermedios en el handshake TLS. Si falta un intermedio, los clientes que no lo tengan en caché no podrán verificar el certificado y mostrarán un error, aunque el certificado en sí sea perfectamente válido.

¿Cuánto tiempo son válidos los certificados SSL/TLS?

Los certificados públicos de confianza para navegadores tienen una validez máxima de 398 días (aproximadamente 13 meses), según lo establecido por el CA/Browser Forum desde septiembre de 2020. Let's Encrypt emite certificados válidos por 90 días para fomentar la automatización. Los certificados de CAs internas o privadas pueden tener períodos de validez más largos, pero la mejor práctica es mantenerlos por debajo de dos años. Los certificados de vida más corta reducen la ventana de exposición en caso de que una clave privada se vea alguna vez comprometida.