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

Que enseñar a los clientes a buscar el candado como prueba de legitimidad es hoy un consejo engañoso. Demuestra la conexión, no a la otra parte. Lo que merece leerse es el nombre de dominio en la barra de direcciones.

Un certificado gratuito demuestra exactamente lo mismo que uno de pago: vea Let's Encrypt frente a un certificado de pago.