Cómo saber cuándo vence un certificado SSL (4 formas)

Por • 29 Octubre, 2026 • Herramientas para desarrolladores • 12 minutos de lectura

Mira cuándo vence cualquier certificado SSL: en línea, en el navegador o con openssl y curl. Ejemplos reales y lo que una fecha vigente no garantiza.

Para saber cuándo vence un certificado SSL, escribe el dominio (solo ejemplo.com, sin https://) en nuestra consulta SSL gratuita y mira la fila Vence el. Desde la terminal, openssl s_client combinado con openssl x509 -noout -enddate te da la misma fecha como notAfter. La herramienta es gratis, no pide cuenta y funciona desde cualquier navegador, sin instalar nada.

Abajo tienes cuatro formas de ver la fecha, con resultados reales de pruebas que hicimos el 29 de octubre de 2026. La segunda parte explica lo que la fecha de vencimiento no te dice, porque un certificado puede estar vigente y aun así hacer que el navegador muestre una advertencia.

Cuatro formas de ver la fecha de vencimiento de un certificado SSL

  • Consulta SSL en línea: la más rápida, sirve desde el celular y muestra el certificado que ve el resto de internet.
  • Tu navegador: ideal para mirar puntualmente el sitio que tienes abierto.
  • openssl: el estándar en Linux, macOS y servidores, y se puede automatizar.
  • curl: práctico si ya estás depurando peticiones HTTP.

Método 1: comprobar el vencimiento en línea

  1. Abre la consulta SSL.
  2. Escribe solo el nombre del host: ejemplo.com o tienda.ejemplo.com. Si pegas una URL completa, la herramienta se queda solo con el host.
  3. Deja el puerto en 443 si es un sitio web. Cámbialo solo para otros servicios con TLS (más abajo te explicamos cuáles).
  4. Pulsa Enviar y mira Vence el. Las horas están en UTC.
  5. Calcula cuántos días faltan y agenda la revisión de la renovación con bastante margen.

Ejemplo real: mybotsy.com

Pasamos nuestro propio dominio por la consulta SSL. Este fue el resultado (fechas en UTC):

FilaResultado
EstadoMarca verde
Emitido el2026-09-23 07:23:13
Vence el2026-12-22 08:21:51
OrganizaciónGoogle Trust Services
Nombre comúnWE1
PaísEstados Unidos
Tipo de firmaecdsa-with-SHA256

Cómo interpretarlo:

  • Vence el es la fecha notAfter del certificado. Al 29 de octubre le quedaban 53 días.
  • Entre Emitido el y Vence el hay justo 90 días, la vida útil típica de los certificados automáticos.
  • Organización, Nombre común y País describen al emisor, no a tu sitio. WE1 es una de las CA intermedias de Google Trust Services. Tu dominio no tiene por qué aparecer en «Nombre común». Para ver qué nombres cubre el certificado, usa el navegador u openssl (más abajo).
  • El estado se pone en verde cuando la fecha actual está entre las dos fechas. Solo revisa las fechas (lo vemos más abajo).

¿Por qué aparece Google Trust Services? mybotsy.com está detrás de Cloudflare, así que los visitantes reciben el certificado del borde de Cloudflare, que lo obtiene de CA públicas como Google Trust Services. Si tu sitio usa una CDN, cualquier consulta pública muestra el certificado de la CDN. El de tu servidor de origen vence en otra fecha y hay que revisarlo aparte.

Servidores de correo y otros puertos

El campo de puerto sirve para servicios que hablan TLS desde el primer byte. Probamos smtp.gmail.com en el puerto 465 (SMTP sobre TLS): emitido el 7 de octubre de 2026, vence el 30 de diciembre de 2026, emisor Google Trust Services WE2. Otros puertos con TLS directo son el 993 (IMAP) y el 995 (POP3). Los que arrancan en texto plano y pasan a cifrado con STARTTLS, como el 587 o el 143, necesitan openssl s_client -starttls smtp (o imap), porque la consulta espera TLS desde el inicio.

Método 2: verlo en el navegador

Todos los navegadores muestran el certificado de la página abierta. Los nombres cambian un poco según la versión, pero el camino es más o menos este:

  • Chrome y Edge: haz clic en el ícono a la izquierda de la dirección, luego en La conexión es segura y en El certificado es válido. La fecha de vencimiento está en el período de validez.
  • Firefox: candado, Conexión segura, Más información, Ver certificado. La fecha final aparece en la sección de validez (en el visor en inglés, Not After).
  • Safari: candado, Mostrar certificado, y la fecha de caducidad en los detalles.

El navegador también lista los nombres alternativos del sujeto (SAN), los hosts exactos que cubre el certificado. El problema es que solo ves el certificado que recibió tu navegador. Con una CDN, un balanceador de carga o un certificado viejo en uno de varios servidores, otros visitantes pueden recibir algo distinto.

Método 3: comprobarlo con openssl

En Linux, macOS o Windows (WSL o Git Bash), este comando se conecta al servidor y muestra las dos fechas:

echo | openssl s_client -connect mybotsy.com:443 -servername mybotsy.com 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

Nuestro resultado:

subject=CN=mybotsy.com
issuer=C=US, O=Google Trust Services, CN=WE1
notBefore=Sep 23 07:23:13 2026 GMT
notAfter=Dec 22 08:21:51 2026 GMT

Coincide con la consulta en línea al segundo. Hay dos detalles importantes:

  • Usa siempre -servername. Envía el SNI, que le dice a un servidor con muchos sitios qué certificado quieres. Sin él, un hosting compartido puede devolverte el certificado de otro sitio y vas a leer una fecha equivocada.
  • echo | cierra la conexión enseguida para que el comando no se quede esperando.

Si agregas -ext subjectAltName al segundo comando, verás los nombres cubiertos. Para mybotsy.com devolvió DNS:mybotsy.com, DNS:*.mybotsy.com.

Avísame si vence pronto: -checkend

-checkend recibe una cantidad de segundos y termina con código 1 si el certificado vence dentro de ese plazo. Es ideal para cron y para CI:

... | openssl x509 -noout -checkend 2592000   # 30 días
Certificate will not expire                 (código de salida 0)

... | openssl x509 -noout -checkend 7776000   # 90 días
Certificate will expire                     (código de salida 1)

Las dos líneas son del mismo certificado de mybotsy.com, al que le quedaban 53 días. Está a salvo para los próximos 30 días, pero no para los próximos 90.

Revisar una lista de dominios con los días restantes

Pon un host por línea en hosts.txt y ejecuta:

while read -r host; do
  end=$(echo | openssl s_client -connect "$host:443" -servername "$host" 2>/dev/null \
    | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
  if [ -z "$end" ]; then echo "$host  no certificate"; continue; fi
  days=$(( ( $(date -d "$end" +%s) - $(date +%s) ) / 86400 ))
  echo "$host  $end  $days days left"
done < hosts.txt

Lo que obtuvimos:

mybotsy.com  Dec 22 08:21:51 2026 GMT  53 days left
expired.badssl.com  Apr 12 23:59:59 2015 GMT  -4217 days left
wrong.host.badssl.com  Dec 28 20:02:55 2026 GMT  60 days left

date -d es sintaxis de GNU. En macOS, instala coreutils y usa gdate -d. También puedes leer un archivo del disco: openssl x509 -in cert.pem -noout -enddate.

Con curl

curl -svI https://mybotsy.com 2>&1 | grep -i "expire date" mostró expire date: Dec 22 08:21:51 2026 GMT. curl además rechaza los certificados inválidos: con expired.badssl.com y con wrong.host.badssl.com terminó con el código 60 (problema de certificado), fácil de detectar en un script.

Lo que la fecha de vencimiento no garantiza

Usamos los hosts de prueba de badssl.com, rotos a propósito, para mostrar qué detecta una revisión de fechas y qué se le escapa.

Certificado vencido: se detecta

expired.badssl.com en la consulta SSL mostró el estado en rojo, emitido el 9 de abril de 2015 y vencido el 12 de abril de 2015. openssl coincidió: Verify return code: 10 (certificate has expired).

Nombre de host incorrecto: las fechas no lo detectan

wrong.host.badssl.com apareció con el estado en verde y vencimiento el 28 de diciembre de 2026, pero los navegadores lo rechazan. Con -verify_hostname wrong.host.badssl.com, openssl devolvió Verify return code: 62 (hostname mismatch). El certificado cubre *.badssl.com y badssl.com, y un comodín abarca exactamente un nivel. Cubre www.badssl.com, pero no wrong.host.badssl.com, que tiene dos niveles delante del dominio.

Cadena rota: las fechas tampoco la detectan

Con openssl, self-signed.badssl.com devolvió el código 18 (certificado autofirmado), untrusted-root.badssl.com el 19 e incomplete-chain.badssl.com el 21 (no se puede verificar el primer certificado). El 21 es el error clásico de olvidar el certificado intermedio. Algunos navegadores de escritorio lo compensan solos, pero muchas apps, clientes de API y celulares viejos fallan.

En resumen: la fecha de vencimiento sirve para planificar renovaciones. Para confirmar que el certificado es válido de verdad, verifica que cubra el nombre y que openssl con -verify_hostname diga Verify return code: 0 (ok), o que curl termine sin errores.

Los certificados duran cada vez menos

El ballot SC-081v3 del CA/Browser Forum limita a 200 días los certificados TLS públicos emitidos desde el 15 de marzo de 2026. El tope baja a 100 días el 15 de marzo de 2027 y a 47 días el 15 de marzo de 2029. La mayoría de los que revisamos ya están muy por debajo: 90 días el de mybotsy.com y el de Let's Encrypt de badssl.com, y 84 días el del SMTP de Gmail. Renovar a mano una vez al año ya no es viable, así que lo normal es la renovación automática (clientes ACME como Certbot o el SSL automático de tu hosting o CDN), y revisar la fecha sirve para confirmar que esa automatización sigue funcionando.

¿Se acerca el vencimiento? Lista rápida para resolverlo

  • ¿Renovaste y sigue apareciendo la fecha vieja? Puede que el servidor web siga sirviendo el certificado anterior. Nginx y Apache cargan los certificados al iniciar o recargar, así que recarga el servicio después de renovar, y revisa todos los servidores detrás del balanceador.
  • ¿Usas una CDN? Revisa por separado el certificado del borde (cualquier consulta pública) y el del origen.
  • ¿Falla la renovación automática? Un registro CAA que no incluye a tu CA bloquea la emisión. Revísalo con la consulta DNS y con nuestra guía para consultar registros DNS.
  • No lo confundas con el vencimiento del dominio. El registro del dominio tiene su propia fecha, que puedes ver con el Whois. Si el dominio vence, un certificado válido no te salva.
  • Después de arreglarlo, confirma que http:// redirige a https:// con el verificador de redirecciones, y busca la cabecera strict-transport-security en la consulta de cabeceras HTTP.

Revisa el tuyo ahora: abre la consulta SSL, escribe tu dominio y anota la fecha de Vence el. Es gratis y no pide registro, igual que el verificador de HTTP/2 y el resto de las herramientas para sitios web.

Preguntas frecuentes

¿Cómo sé cuándo vence mi certificado SSL?

Escribe tu dominio en la consulta SSL gratuita de My Botsy y mira la fila Vence el, en hora UTC. En la terminal, ejecuta openssl s_client con -servername y pásalo a openssl x509 -noout -enddate para ver la fecha notAfter.

¿Qué pasa cuando vence un certificado SSL?

Los navegadores muestran una advertencia a pantalla completa, como «La conexión no es privada» en Chrome, y la mayoría de los visitantes se va. Las apps, los clientes de API y herramientas como curl directamente no se conectan. No se arregla hasta instalar un certificado nuevo y recargar el servidor.

¿Cuánto dura un certificado SSL?

Los certificados públicos emitidos desde el 15 de marzo de 2026 duran como máximo 200 días. El tope baja a 100 días en marzo de 2027 y a 47 días en marzo de 2029. Muchos, como los de Let's Encrypt o Google Trust Services, ya duran unos 90 días.

¿Por qué mi sitio muestra la fecha vieja después de renovar?

Casi siempre es porque no se recargó el servidor web, porque un servidor detrás del balanceador todavía tiene el archivo viejo o porque estás viendo el certificado de la CDN y no el del origen. Recarga el servidor y vuelve a revisar con -servername.

Si la fecha está vigente, ¿mi SSL funciona bien?

No necesariamente. Un certificado vigente puede fallar si no cubre el nombre del host o si la cadena está incompleta. Revísalo con openssl -verify_hostname o con curl y busca el código de verificación 0.

¿La consulta SSL es gratis?

Sí. Es gratis y no necesitas cuenta. Sin registrarte tienes varias consultas gratis por día, y con una cuenta gratuita de My Botsy no hay límite diario.

Cómo arreglar un JSON inválido: 10 errores comunes

28 Octubre, 2026

Arregla un JSON inválido rápido: entiende los errores Unexpected token y corrige comas finales, comillas, comentarios y corchetes, paso a pa..

Cómo consultar registros DNS de un dominio: A, MX, TXT y CNAME

28 Octubre, 2026

Consulta registros DNS en línea o con dig y nslookup. Qué hacen los registros A, AAAA, CNAME, MX, TXT, NS y CAA, y cómo resolver problemas c..