Chcę zaimportować certyfikat z podpisem własnym do Javy, aby każda aplikacja Java, która spróbuje nawiązać połączenie SSL, będzie ufać temu certyfikatowi.
Do tej pory udało mi się go zaimportować
keytool -import -trustcacerts -noprompt -storepass changeit -alias $REMHOST -file $REMHOST.pem
keytool -import -trustcacerts -noprompt -keystore cacerts -storepass changeit -alias $REMHOST -file $REMHOST.pem
Mimo to, kiedy próbuję uciec HTTPSClient.class
, nadal otrzymuję:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Tworzenie ścieżki PKIX nie powiodło się: sun.security.provider.certpath.SunCertPathBuilderException: nie można znaleźć prawidłowej ścieżki certyfikacji do żądanego celu
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider())
są zupełnie niepotrzebne w pierwszej części. Drugi nie przeprowadza żadnej weryfikacji certyfikatu.URLConnection
Zacznij od prostego . Czy na pewno zostały zmodyfikowanecacerts
wlib/security
swojej instalacji JRE? Czy próbowałeśtrustmanager
opcji debugowania ?