A menudo se describe un certificado como algo que vuelve seguro un sitio, y eso lleva a la gente a fiarse de un candado en un sitio del que no habría que fiarse en absoluto. Demuestra dos cosas concretas, y ninguna de las dos es que el negocio sea honrado.
Qué demuestra
- Que usted habla con el titular de este nombre de dominio. Alguien le demostró a una autoridad de certificación que controlaba el dominio.
- Que nadie en medio puede leer ni alterar el tráfico. La conexión va cifrada y se comprueba su integridad.
Qué no demuestra
- Que la empresa que hay detrás del dominio exista, ni que sea de fiar.
- Que el sitio no sea una página de phishing: los sitios de phishing tienen certificados válidos, y casi todos los tienen.
- Que la aplicación sea segura. Un certificado protege el cable, no el código que hay detrás.
Cómo se construye la prueba
De tres maneras, todas ellas demostrando el control del dominio: servir un archivo concreto en una URL dada, responder en el puerto 443 con un certificado concreto, o publicar un registro TXT en el DNS. La última es el único método capaz de emitir un comodín.
# what a certificate says about itself
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com < /dev/null 2>/dev/null \
| openssl x509 -noout -subject -issuer -dates
La cadena es la otra mitad
Su certificado lo firma un intermedio, firmado a su vez por una raíz en la que el navegador ya confía. Sirva la cadena incompleta y algunos clientes no podrán verificarla: vea una cadena de certificados incompleta.
Lo que significa
Un certificado gratuito demuestra exactamente lo mismo que uno de pago: vea Let's Encrypt frente a un certificado de pago.