javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Bu hatalar sertifikanızın geçerliliğinin kullandığınız Java runtime tarafından doğrulanamamasından kaynaklanıyor. Ağ tarayıcıları benzer durum ile karşılaşıldığında çoğu kere uyarı vermekle beraber, size sertifikaya güvenip devam etme veya güvenilir listesine ekleme seçenekleri de sunarlar. Bizim durumumuzda devam edebilmek için keytool aracını kullanarak Javanın keystore una bu sertifikayı güvenilir olarak eklememiz icab ediyor.
keytool aracı Java JDK nızın bin klasöründedir. keytool u bulduktan sonra şu adımları izleyin:
- Sertifikayı local bir yere karşıdan yükleyin.
- keystore a şu parametreler ile sertifikayı ekleyin:
keytool -keystore ..\jre\lib\security\cacerts -import -alias <tanım_girin> -file c:\<dosya_yolu>\sertifika.crt -trustcacerts
veya
keytool -keystore ../jre/lib/security/cacerts -import -alias <tanım_girin> -file ~/<dosya_yolu>/sertifika.crt -trustcacerts
Adımları doğru olarak tamamladıysanız sizi şöyle tasdik edecektir: "Certificate was added to keystore."
Bazı ipuçları:
Keystore daki tüm sertifikaları listelemek için:
keytool -list -keystore ..\jre\lib\security\cacerts
Keystore dan sertifika silmek için:
keytool -delete -alias certalias -keystore ..\jre\lib\security\cacerts