Un certificado SSL/TLS es un fichero que el servidor presenta al navegador para demostrar tres cosas:
- Que el dominio es de quien dice ser (autenticación).
- Que la conexión va cifrada (privacidad).
- Que los datos no se han modificado en tránsito (integridad).
Cuando una web tiene SSL activo, la URL empieza por https:// y aparece un candado en la barra del navegador. Sin SSL, los navegadores marcan el sitio como "no seguro".
Tipos de certificado
- DV (Domain Validation): valida que controlas el dominio. Suficiente para la mayoría de webs. Gratis con Let's Encrypt.
- OV (Organization Validation): valida también la organización detrás. Se ve la entidad en los detalles del certificado.
- EV (Extended Validation): validación extendida. Antes mostraba la barra verde con el nombre de la empresa; ya casi no se usa.
- Wildcard: cubre todos los subdominios (
*.ejemplo.com). - Multi-domain (SAN): cubre varios dominios distintos con un mismo certificado.
Para el 95% de las webs, un DV gratuito de Let's Encrypt es suficiente.
Renovación
Los certificados Let's Encrypt duran 90 días. La mayoría de hostings y CDN los renuevan automáticamente sin intervención. Los certificados pagos suelen durar 1 año.
Si un certificado caduca y no se renueva, el navegador muestra un error grande de seguridad y la mayoría de visitantes abandona la página. Es urgente.
Cómo comprobar el estado de un certificado
- Abrir la web en el navegador y mirar el candado: muestra emisor, fecha de expiración.
- Desde terminal:
openssl s_client -connect ejemplo.com:443 -servername ejemplo.com 2>/dev/null | openssl x509 -noout -dates. - Con webs especializadas:
ssllabs.com/ssltest/da un análisis completo del configurado del SSL.
Errores SSL típicos
- NET::ERR_CERT_DATE_INVALID: el certificado caducó. Hay que renovar.
- NET::ERR_CERT_COMMON_NAME_INVALID: el certificado no coincide con el dominio. A menudo pasa cuando se accede por
www.ejemplo.comy el certificado solo cubreejemplo.com, o al revés. - NET::ERR_CERT_AUTHORITY_INVALID: el navegador no reconoce a la entidad certificadora. Pasa con certificados auto-firmados o emitidos por CAs no confiables.
- Mixed content: la página carga por HTTPS pero incluye recursos (imágenes, scripts) por HTTP. El navegador advierte. Hay que cambiar todas las URLs internas a HTTPS.