Un error de cadena de certificados SSL incompleta significa que tu servidor web no está enviando todos los certificados necesarios para que los navegadores confíen en tu sitio. La solución es instalar los certificados intermedios que te entregó tu autoridad certificadora (CA).
¿Qué es la cadena de certificados SSL?
Cuando un navegador visita tu sitio, verifica que tu certificado SSL sea confiable siguiendo una cadena de confianza que va desde tu dominio hasta una autoridad raíz reconocida. Esa cadena tiene tres eslabones:
- Certificado de dominio (leaf): el que instalaste para tu sitio específico.
- Certificado(s) intermedio(s): emitidos por la CA para enlazar tu certificado con la raíz.
- Certificado raíz (root CA): preinstalado en los navegadores y sistemas operativos.
Si el eslabón intermedio falta, el navegador no puede completar la cadena y muestra una advertencia de seguridad, aunque tu certificado de dominio sea completamente válido.
Síntomas más comunes del error
Este problema se manifiesta de formas distintas según el navegador o la herramienta:
- Chrome/Edge: "NET::ERR_CERT_AUTHORITY_INVALID" o el candado roto.
- Firefox: "SEC_ERROR_UNKNOWN_ISSUER".
- Safari: "Este certificado no es de confianza".
- Herramientas como SSL Labs: calificación "B" o advertencia "Chain issues: Incomplete".
- Dispositivos móviles o IoT: error de conexión aunque el escritorio funcione (tienen menos raíces preinstaladas).
Nota: Chrome a veces no muestra el error porque almacena en caché los intermedios que descargó antes. Otros navegadores o clientes de API sí lo reportarán. Consulta nuestra guía completa de seguridad SSL para entender el panorama completo.
Cómo diagnosticar el problema
Antes de corregir, confirma que el error es realmente de cadena incompleta:
- Ve a SSL Labs (
ssllabs.com/ssltest) e ingresa tu dominio. - Busca la sección "Certificate Chains". Si dice "Chain issues: Incomplete", confirmas el diagnóstico.
- Alternativamente, ejecuta desde terminal:
openssl s_client -connect tudominio.com:443 -showcertsy revisa que aparezcan al menos 2-3 certificados en la salida.
Si el resultado de SSL Labs muestra "Extra download" en lugar de "Sent by server" para los intermedios, tienes exactamente este problema.
Cómo corregir la cadena de certificados SSL
Paso 1: Obtén los certificados intermedios
Tu CA los entrega junto con el certificado de dominio. Búscalos en el correo o panel de tu proveedor. Dependiendo de la CA tendrán nombres como ca-bundle, chain.crt o intermediate.crt.
Si ya no los tienes, la mayoría de las CA los publican en su sitio web. También puedes extraerlos con:
openssl s_client -connect tudominio.com:443 -showcerts 2>/dev/null | openssl x509 -noout -text | grep "CA Issuers"
El campo CA Issuers contiene la URL para descargar el certificado padre.
Paso 2: Instalar en cPanel
- Ingresa a cPanel → SSL/TLS → Instalar y gestionar SSL.
- Selecciona tu dominio.
- En el campo "Certificate Authority Bundle (CABUNDLE)", pega el contenido del archivo de cadena (o ca-bundle).
- Haz clic en Instalar certificado.
Si tu hosting usa AutoSSL de Let's Encrypt, la cadena se gestiona automáticamente — revisa si hay un error en la renovación automática.
Paso 3: Instalar en Apache (VirtualHost)
En el archivo de configuración de tu VirtualHost añade:
SSLCertificateFile /ruta/a/tu_dominio.crt
SSLCertificateKeyFile /ruta/a/tu_privkey.pem
SSLCertificateChainFile /ruta/a/chain.crt
Luego recarga Apache: systemctl reload httpd o apachectl graceful.
Paso 4: Instalar en Nginx
Nginx requiere que concatenes el certificado de dominio con los intermedios en un solo archivo:
cat tu_dominio.crt chain.crt > fullchain.pem
Luego apunta la directiva ssl_certificate a fullchain.pem y recarga: nginx -s reload.
Paso 5: Verificar
Vuelve a correr el test en SSL Labs. Deberías ver calificación "A" y "Chain issues: None". También verifica con:
openssl verify -CAfile chain.crt tu_dominio.crt
Conclusiones clave
- La cadena SSL necesita tres eslabones: certificado de dominio, intermedios y raíz. Si falta algún intermedio, los clientes no pueden verificar tu sitio.
- Chrome puede enmascarar el error gracias al caché de intermedios; prueba siempre con SSL Labs para confirmar.
- En cPanel el campo CABUNDLE es donde van los intermedios; en Apache usa
SSLCertificateChainFile; en Nginx concatena en un solo archivo. - Let's Encrypt gestiona los intermedios automáticamente — si tienes este error con Let's Encrypt, el problema suele ser una renovación fallida.
¿Necesitas ayuda instalando o renovando tu certificado correctamente? El equipo de elenlace.com configura tu SSL y verifica la cadena completa para que ningún visitante vea advertencias de seguridad.
Preguntas frecuentes
¿Por qué en mi computadora funciona pero en el celular da error?
Los sistemas operativos móviles, especialmente versiones antiguas de Android, tienen menos certificados raíz preinstalados y son más estrictos con la cadena. Chrome en escritorio descarga los intermedios automáticamente; los clientes móviles suelen no hacerlo.
¿Puedo perder el SEO si tengo este error?
Google Googlebot verifica los certificados. Un sitio con cadena incompleta puede ser marcado como "no seguro" y recibir penalización en rankings. Además, los visitantes que vean la advertencia abandonan el sitio, aumentando el rebote.
¿Let's Encrypt también puede tener cadena incompleta?
Sí, aunque es raro. Ocurre cuando el proceso de renovación automática falló parcialmente o cuando el servidor no reenvía el fullchain que Certbot genera. Asegúrate de usar el archivo fullchain.pem y no solo cert.pem.
¿Cada cuánto debo revisar la cadena SSL?
Revísala siempre que renueves o reinstales el certificado. Una buena práctica es incluir una verificación mensual con SSL Labs o similar, especialmente si cambias de proveedor de hosting o CA.
¿Prefieres que lo hagamos por ti? En El Enlace resolvemos hosting y desarrollo web profesional.
Para saber más
Otros proveedores y guías que vale la pena comparar: