Recentemente ho scoperto che una libreria che sto usando (in particolare Apache HTTPClient) quando è configurata per verificare il nome host del server remoto rispetto al CN del certificato, sembra stia facendo un confronto tra stringhe.
Cioè se il certificato è stato emesso su un IP e l'utente digita un nome, ad es. https://secureserver/
ma il server di sicurezza IP < - > (mappe, ad esempio configurato nel file host di Windows), la verifica fallisce lamentando che
javax.net.ssl.SSLException: hostname in certificate didn't match:
<secureserver> != <10.4.5.1>
È questo il modo solitamente implementato in tutte le librerie? Cioè ho sbagliato aspettarmi una ricerca inversa per secureserver
su 10.4.5.1
. che è il CN del certificato dovrebbe essere successo?
Grazie