i cały czas otrzymuje Exception in thread "main" java.security.KeyStoreException: problem accessing trust store Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect Caused by: java.security.UnrecoverableKeyException: Password verification failed
hasło 100% jest poprawne bo takim samym odpalam certyfikat przez keyStore Explorer
@Mintaa: nie ustawiaj tego. Nie ruszaj default key store, które jest typu jks i ma domyślne hasło "changeit".
Do połączenia musisz ustawić na parametrach połączenia ten keystore, nie w zmiennych całego JVMa. Przy czym, jak w poprzednim pytaniu, używasz OkHttp, to ten oczekuje pary PrivateKey i X509Certificate, a nie całego keystore (musisz wyjąć wpisy programowo)
@Mintaa: jak chcesz zrobić zwykły PoC, to ostatni przykład stąd jest dla ciebie (przy czym wydaje mi się, że certyfikat klienta musi być w tym wypadku podpisany przez zaufanego dostawcę, inaczej trzeba jeszcze trustStore podmienić) https://stackoverflow.com/a/45541092
@Mintaa: obstawiam, że serwer przedstawia się certyfikatem z czerwoną kłódką w przeglądarce? (Samopodpisany lub podpisany customowym CA). Wtedy musisz zmodyfikować trustStore, żeby mu zaufać. Generalnie to javax.net.ssl.debug=true i poleci masa diagnostycznego spamu na konsolę
Witam, mam takie pytanie. Czy według was jest możliwe dojeżdżać rowerem do pracy 11 km rowerem? Droga Miasteczko-wioska. Praca od 7-15 więc w sumie spoko jak na rower. Ewentualnie jakiś elektryczny DOBRY rower? Poleci ktoś coś? #rower #rowery
ładuję certyfikat do javy
KeyStore p12 = KeyStore.getInstance("pkcs12");
p12.load(new FileInputStream("//certyfikat//","haslo".toCharArray());
potem chcę go ustawić do połączenia
System.setProperty("javax.net.ssl.trustStore", "p12");
System.setProperty("javax.net.ssl.trustStorePassword", "haslo");
i cały czas otrzymuje
Exception in thread "main" java.security.KeyStoreException: problem accessing trust store
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect
Caused by: java.security.UnrecoverableKeyException: Password verification failed
hasło 100% jest poprawne bo takim samym odpalam certyfikat przez keyStore Explorer
#java
@Mintaa: nie ustawiaj tego.
Nie ruszaj default key store, które jest typu jks i ma domyślne hasło "changeit".
Do połączenia musisz ustawić na parametrach połączenia ten keystore, nie w zmiennych całego JVMa.
Przy czym, jak w poprzednim pytaniu, używasz OkHttp, to ten oczekuje pary PrivateKey i X509Certificate, a nie całego keystore (musisz wyjąć wpisy programowo)
nawet samo HeldCertificate nie występuje w bibliotece okhttp3
Pierwszy raz mam styczność z javą ale przyznam ze w pythonie całe połączenie to są 3 linijki kodu a tutaj już mam prawie 30
https://stackoverflow.com/a/45541092
API od javowego crypto nie jest zbyt przyjemne. A jak biblioteka od http, to apache http client. Ustawiasz SSLContext z buildera (musisz dopisać skąd ma brać certyfikat klienta)
https://github.com/apache/httpcomponents-client/blob/master/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientCustomSSL.java
Exception in thread "main" javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
ze stacka przejrzałem już wszystkie i mam wrażenie że większość odpisujących ma problem z czytaniem xD
Gdzie nie pytają o połączenie z certyfikatem to pierwsza odpowiedź "wyłącz sprawdzenie certyfikatu" ( ͡° ͜ʖ ͡°)
Generalnie to
javax.net.ssl.debug=true i poleci masa diagnostycznego spamu na konsolę