Guía · 4 min de lectura

Errores de certificado SSL, explicados y resueltos

Respuesta corta: un error de certificado significa que el navegador no pudo confirmar que habla de verdad con tu sitio. Las causas habituales son un certificado caducado (ERR_CERT_DATE_INVALID), un certificado que no incluye el nombre de dominio exacto (ERR_CERT_COMMON_NAME_INVALID), un certificado intermedio que falta o uno autofirmado (ERR_CERT_AUTHORITY_INVALID), o un servidor que solo habla versiones antiguas de TLS. Un comando de openssl te dice cuál es; la solución casi siempre está en el servidor, y la renovación automática evita la mayoría.

Actualizado el · HackGrade

Primero, analiza tu sitio. El análisis gratuito muestra cuáles de estas correcciones necesitas. Análisis SSL y HTTPS

Pasos rápidos

  1. Lee el certificado desde fuera. Comprueba sus fechas, nombres y cadena con openssl.
  2. Relaciona el error con su causa. Caducado, nombre incorrecto, cadena no fiable o problema de protocolo.
  3. Corrígelo en el servidor. Renueva, vuelve a emitir con todos los nombres o instala la cadena completa.
  4. Permite TLS 1.2 y 1.3. Desactiva TLS 1.0 y 1.1 y asegúrate de que los clientes modernos conectan.
  5. Automatiza la renovación. Los certificados duran ahora como máximo 200 días, y pronto 100, así que renovar debe ser automático.

El código y la configuración se mantienen en inglés.

Primero: mira el certificado desde fuera

El navegador muestra el código de error bajo la advertencia (pulsa Configuración avanzada). Después lee lo que tu servidor envía de verdad. Esto muestra para quién es el certificado, quién lo emitió, sus fechas y todos los nombres que cubre:

Terminal
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates -ext subjectAltName

Y esto muestra la cadena y si se verifica (busca Verify return code: 0 (ok)):

Terminal
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com </dev/null 2>/dev/null \
  | grep -E '^ *[0-9]+ s:|Verify return code'

NET::ERR_CERT_DATE_INVALID: caducado (o reloj mal puesto)

La fecha notAfter del certificado ya pasó o, si solo lo ve un visitante, el reloj de su dispositivo está mal. Renueva el certificado y recarga el servidor web. Si usas Certbot, comprueba que la renovación automática se ejecuta de verdad:

Terminal
sudo certbot renew --dry-run
systemctl list-timers | grep -i certbot
sudo systemctl reload nginx   # or: sudo systemctl reload apache2

Renovar ya no es una tarea anual. Según las normas del CA/Browser Forum, los certificados públicos emitidos desde el 15 de marzo de 2026 valen como máximo 200 días; desde el 15 de marzo de 2027 el límite es de 100 días, y desde el 15 de marzo de 2029, de 47 días. La renovación manual no podrá seguir el ritmo, así que usa los certificados automáticos de tu hosting o un cliente ACME como Certbot.

NET::ERR_CERT_COMMON_NAME_INVALID: nombre incorrecto

El certificado es válido, pero no para el nombre de la barra de direcciones. Compara la dirección con la lista subjectAltName del primer comando. Causas típicas: el certificado cubre yourdomain.com pero no www.yourdomain.com; se añadió un subdominio nuevo sin certificado; o el servidor envía el certificado de otro sitio en la misma IP (el sitio por defecto). Vuelve a emitir el certificado con todos los nombres que uses:

Terminal
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com --expand

Si los nombres son correctos y sigues recibiendo el certificado de otro sitio, comprueba que el bloque server o el virtual host de este dominio tiene sus propias líneas de certificado y el server_name correcto.

NET::ERR_CERT_AUTHORITY_INVALID: emisor no fiable o cadena rota

O el certificado es autofirmado (válido para pruebas, nunca para un sitio público), o el servidor envía solo tu certificado sin el intermedio que lo enlaza con una raíz de confianza. Algunos navegadores de escritorio completan el hueco por su cuenta, así que el sitio puede funcionarte a ti y fallar en móviles o en otras herramientas. Configura siempre el archivo de cadena completa:

nginx / Apache
# nginx
ssl_certificate     /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;

# Apache 2.4.8+
SSLCertificateFile    /etc/letsencrypt/live/yourdomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/yourdomain.com/privkey.pem
SSLProtocol -all +TLSv1.2 +TLSv1.3

Con un certificado comprado a un proveedor comercial, descarga la versión «full chain» o «bundle» y úsala en lugar del archivo de certificado suelto.

ERR_SSL_PROTOCOL_ERROR y ERR_SSL_VERSION_OR_CIPHER_MISMATCH

El navegador y el servidor no lograron ponerse de acuerdo en un protocolo. Causas habituales: el servidor solo ofrece TLS 1.0 o 1.1, que los navegadores actuales ya no aceptan; el puerto 443 responde con HTTP sin cifrar; o el certificado y la clave no coinciden. Prueba qué versiones acepta tu servidor:

Terminal
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_2 </dev/null 2>/dev/null | grep -E 'Protocol|Cipher'
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -tls1_3 </dev/null 2>/dev/null | grep -E 'Protocol|Cipher'

Ambos deberían mostrar un protocolo y un cifrado. El SSL Configuration Generator de Mozilla ofrece una configuración actual y probada para nginx, Apache y otros servidores.

Error 526 de Cloudflare y bucles de redirección

Con Cloudflare delante de tu web hay dos certificados: el de Cloudflare para los visitantes y el de tu servidor para la conexión desde Cloudflare. En modo Full (strict), el error 526 significa que el certificado de tu servidor no es válido o ha caducado; renuévalo o instala un Cloudflare Origin Certificate gratuito. Evita el modo Flexible: la conexión con tu servidor no va cifrada y, combinado con una redirección a HTTPS en el servidor, provoca ERR_TOO_MANY_REDIRECTS.

Cuando el problema está en el lado del visitante

  • Una fecha u hora incorrecta en el dispositivo produce errores de fecha en todos los sitios.
  • Un antivirus o la «inspección HTTPS» de una empresa sustituye certificados y puede provocar errores de emisor.
  • Las páginas de acceso de wifi públicas interceptan la primera petición HTTPS hasta que el visitante inicia sesión.

Si solo una persona ve el error y las comprobaciones de openssl anteriores salen bien, probablemente sea una de estas.

Qué comprueba HackGrade

El análisis gratuito comprueba si tu certificado es de confianza, avisa cuando caduca en menos de tres semanas y señala versiones antiguas de TLS y la falta de redirección de HTTP a HTTPS. Los planes Site, Business y Agency repiten el análisis cada semana y envían una alerta cuando algo cambia. Más contexto en ¿Está bien configurado mi certificado SSL?

Preguntas frecuentes

¿Cómo soluciono NET::ERR_CERT_DATE_INVALID?

Renueva el certificado y recarga el servidor web. Si vuelve a pasar, la renovación automática no funciona: ejecuta «certbot renew --dry-run» o revisa el panel de tu hosting. Si solo lo ve un visitante, probablemente su reloj esté mal.

¿Por qué mi web funciona en mi ordenador pero da error de certificado en móviles?

Normalmente falta el certificado intermedio. Algunos navegadores de escritorio lo descargan solos; muchos otros clientes no. Configura la cadena completa (fullchain.pem o el bundle del proveedor).

¿Puedo decir a los visitantes que pulsen «Continuar de todos modos»?

No. El aviso existe porque la conexión no se puede verificar, y acostumbrar a los clientes a ignorarlo los pone en riesgo. Arregla el certificado.

¿Cuánto duran ahora los certificados SSL?

Los certificados públicos emitidos desde el 15 de marzo de 2026 duran como máximo 200 días. El límite baja a 100 días el 15 de marzo de 2027 y a 47 días el 15 de marzo de 2029, así que la renovación tiene que ser automática.

Fuentes

Guías relacionadas

Gratis · Al instante · Sin registro

Conoce tu nota antes que nadie.

Análisis pasivo. Nada se ataca sin tu permiso.

Empieza gratis. Pro desde 29 $ al mes (unos 24 $ con facturación anual), o un informe único completo por 29 $. Ver precios