Bir REST son noktasına çağrı yapmak için istemci tarafında Spring RESTTemplate kullanıyorum. Bu durumda istemci bir Spring uygulamasıdır ve Tomcat sunucu uygulamasıdır.Neden SSL el sıkışma için güvenilir mağazayı bulamıyorum?
HTTPS son noktaya bağlantı kurarak sorunları yaşıyorum. Güvenilir mağaza için geçerli bir yol bulamadığını belirten bir hata alıyorum. Bunu nerede belirleyebilirim? Bu kap seviyesinde mi yoksa uygulama konfigürasyonu (Bahar) seviyesinde mi yapıldı?
Yığın izleme: düzgün RESTTemplate harici yapılır SSLContext yapılandırmanız gerekir
org.springframework.web.client.ResourceAccessException: I/O error:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target;
nested exception is 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
org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:330)
org.springframework.web.client.RestTemplate.execute(RestTemplate.java:292)
org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:227)
Nerede o kod yazmak? – kamaci
İstediğiniz yere yazabilirsiniz, çünkü SSLContext sınıfının kendisi üzerinde statik bir çağrı yapıyordur. Aynı classloader bağlamında ve ilk HttpClient çağrısından önce aradığınız sürece, gitmek için iyi olmalısınız. –
Sadece emin olmak için: Yukarıda açıklandığı gibi bir SSLContext'in TrustManager'ını değiştirmek kalıcı bir eylem değildir, değil mi? Yani uygulama her başlatıldığında yapılması gerekiyor. – ptikobj