En presencia de 'certificados de confianza' & otros atributos ... ¿qué importancia tiene esto?
¿OpenSSL lo implementa ahora & Si no, ¿por qué no se implementa OpenSSL?
Esto es entre el cliente sin navegador y amp; servidor.
Cuando se conecta a un servidor y el servidor devuelve un certificado válido, entonces "sabe" (sujeto a los caprichos de PKI) que se conectó a un servidor "válido", cuya identidad está contenida en el certificado. Sin embargo, hay más de un servidor SSL en este planeta. Aún tiene que decidir si el servidor con el que contactó es el que quería para hablar. Eso es lo que significa la verificación de nombres.
Esta es la distinción entre autenticación (verificar con quién estás hablando) y autorización (decidir si con quién estás hablando es realmente con quién debes hablar) . Necesitas ambos. Si elimina la verificación de nombres , debe implementar algún otro mecanismo que permita a su cliente distinguir entre los auténticos servidor, y algún otro servidor con otro nombre.
Sigue siendo igual de importante. Incluso si soy Mr.BadHacker, puedo obtener un certificado de confianza que diga que soy Mr.BadHacker. Si está intentando conectarse a su oficina a través de SSH y acepta una conexión de confianza con Mr.BadHacker como su oficina, tendrá problemas.
La confianza no significa que el sitio sea bueno, simplemente significa que son quienes dicen ser. No tiene ningún significado sin comprobar quiénes dicen ser.
Las otras respuestas ya dijeron por qué es importante verificar la identidad (nombre de host).
En cuanto al cómo con openssl: las versiones actuales (1.0.1) no tienen las comprobaciones necesarias, por lo que la mayoría de los usuarios de openssl codifican sus propias (y, a menudo, mal) u omiten la comprobación (incluso peor).
En la base de código planificada para la versión 1.1 hay una función x509_check_host que debería ser mejor que ninguna verificación, pero su implementación también es incorrecta (consulte el ticket número 3288 de OpenSSL).
Lea otras preguntas en las etiquetas vulnerability tls openssl