Questi possono essere formulati come domande separate per chiarezza, ma sono tutti correlati allo stesso problema.Come vengono risolti i nomi dei server di certificati SSL/È possibile aggiungere nomi alternativi utilizzando keytool?
Come vengono risolti i nomi dei server di certificati SSL?
Perché i browser sembrano utilizzare il campo CN del certificato, ma il meccanismo di Java sembra guardare solo "nomi alternativi di soggetto"?
È possibile aggiungere nomi alternativi a un certificato SSL utilizzando keytool? Se no, sta usando openSSL invece una buona opzione ??
Solo un piccolo background: Ho bisogno di ottenere un server principale per comunicare con diversi server utilizzando HTTPS. Ovviamente, non vogliamo acquistare certificati SSL per ogni server (ce ne potrebbero essere molti), quindi voglio usare certificati autofirmati (ho usato keytool per generarli). Dopo aver aggiunto i certificati come affidabili nel sistema operativo, i browser (IE e Chrome) accettano felicemente la connessione come attendibile. Tuttavia, anche dopo aver aggiunto i certificati a cacerts di Java, Java continua a non accettare la connessione come affidabile e getta la seguente eccezione:
Causato da: java.security.cert.CertificateException: Nessun soggetto nomi alternativi presente all'indirizzo sun.security.util.HostnameChecker.matchIP (NomehostChecker.java:142) all'indirizzo sun.security.util.HostnameChecker.match (NomehostChecker.java:75) su com.sun.net.ssl.internal.ssl. X509TrustManagerImpl.checkIdentity (X509T rustManagerImpl.java:264) in com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted ( X509TrustManagerImpl.java:250) a com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate (Clien tHandshaker.java:1185) ... more 14
ho scoperto che posso fare Java attendibile il certificato attuazione mia proprio HostNameVerifier, che ho copiato da qui: com.sun.jbi.internal.security.https.DefaultHostnameVerifier solo per testare (a proposito, l'hostname passato come argomento a HostnameVerifier è corretto, quindi penso che avrebbe dovuto essere accettato).
Ho utilizzato il campo del certificato CN come nome host (in genere l'indirizzo IP).
Qualcuno può dirmi se sto facendo qualcosa di sbagliato e indicarmi la direzione giusta?
Il collegamento è interrotto. – axiopisty
Scegli la tua alternativa: http://grepcode.com/search?query=DefaultHostnameVerifier&n= – Renato