Recientemente encontré que una biblioteca que estoy usando (específicamente Apache HTTPClient) cuando está configurada para verificar el nombre de host del servidor remoto con el CN del certificado, parece que está haciendo una comparación de cadenas.
Es decir. si el certificado se ha emitido a una dirección IP y el usuario escribe un nombre en su lugar, por ejemplo, https://secureserver/
pero el IP < - > secureserver (mapas, por ejemplo, configurados en el archivo del host de Windows), falla la verificación quejándose de que
javax.net.ssl.SSLException: hostname in certificate didn't match:
<secureserver> != <10.4.5.1>
¿Es esta la forma en que normalmente se implementa en todas las bibliotecas? Es decir. Me equivoco al esperar que una búsqueda inversa de secureserver
a 10.4.5.1
. que es el CN del certificado que debió haber ocurrido?
Gracias