Ich möchte ein selbstsigniertes Zertifikat in Java importieren, damit jede Java-Anwendung, die versucht, eine SSL-Verbindung herzustellen, diesem Zertifikat vertraut.
Bisher habe ich es geschafft, es zu importieren
keytool -import -trustcacerts -noprompt -storepass changeit -alias $REMHOST -file $REMHOST.pem
keytool -import -trustcacerts -noprompt -keystore cacerts -storepass changeit -alias $REMHOST -file $REMHOST.pem
Wenn ich versuche zu rennen, HTTPSClient.class
bekomme ich trotzdem:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX-Pfaderstellung fehlgeschlagen: sun.security.provider.certpath.SunCertPathBuilderException: Es konnte kein gültiger Zertifizierungspfad zum angeforderten Ziel gefunden werden
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider())
sind im ersten Teil völlig unnötig. Der zweite führt keine Zertifikatsüberprüfung durch. Versuchen Sie es zunächst mit einer EbeneURLConnection
. Sind Sie sicher , dass Sie geändert habencacerts
inlib/security
Ihrer JRE - Installation? Haben Sie dietrustmanager
Debugging-Option ausprobiert ?