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.classottengo 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 pianuraURLConnectionper cominciare. Sei sicuro di aver modificatocacertsinlib/securitydella vostra installazione di JRE? Hai provato l'trustmanageropzione di debug ?