Voglio importare un certificato autofirmato in Java, quindi qualsiasi applicazione Java che tenterà di stabilire una connessione SSL si fiderà di questo certificato.
Finora sono riuscito a importarlo in
keytool -import -trustcacerts -noprompt -storepass changeit -alias $REMHOST -file $REMHOST.pem
keytool -import -trustcacerts -noprompt -keystore cacerts -storepass changeit -alias $REMHOST -file $REMHOST.pem
Tuttavia, quando provo a correre HTTPSClient.class
ottengo ancora:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: creazione del percorso PKIX non riuscita: sun.security.provider.certpath.SunCertPathBuilderException: impossibile trovare un percorso di certificazione valido per la destinazione richiesta
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider())
sono completamente inutili nella prima parte. Il secondo non esegue alcuna verifica del certificato. Prova con una pianuraURLConnection
per cominciare. Sei sicuro di aver modificatocacerts
inlib/security
della vostra installazione di JRE? Hai provato l'trustmanager
opzione di debug ?