मैं निम्नलिखित अपवाद हो रही है में:SSL प्रमाणपत्र पर ध्यान न दें एक सर्वलेट
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
मैं कुछ शोध किया और मेरे कनेक्शन कोड के बाद इसे बदला:
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
public boolean isTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
return true;
}
}).build();
CloseableHttpClient client = HttpClients.custom()
.setRedirectStrategy(new LaxRedirectStrategy())
.setSslcontext(sslContext)
.setConnectionManager(connMgr)
.build();
यह अब तक समस्या का समाधान होने, मैं कर रहा हूँ अपवाद नहीं मिला और कनेक्शन काम करता है।
समस्या तब उत्पन्न होती है जब मैं टोमकैट में चल रहे सर्वलेट में एक ही कोड का उपयोग करता हूं।
क्यों?
मुझे लगता है कि इस CertificateException है, जो दिखाई दिया जब मैं कुंजीस्टोर जोड़ा गया है और .crt आयातित से निपटने के लिए किया गया था। बाहर निकलता है मैं वास्तव में इस वर्कअराउंड का उपयोग नहीं कर सकता, मैं शुरुआती SunCertPathBuilderException से बचना चाहता हूं। – Tim
फिर भी मैं अपने समाधान की कोशिश की और मैं इस त्रुटि अब हो रही है: विश्वास storejava.security.cert.CertificateParsingException तक पहुँचने समस्या: java.security.KeyStoreException 'लंघन पर हस्ताक्षर किए, 266 बाइट्स = com.sun.net.ssl.internal पर। ssl.TrustManagerFactoryImpl.engineInit (TrustManagerFactoryImpl.java:55) ' – Tim
आपके उत्तर ने मुझे पूरी चीज़ की जांच की और मुझे मेरे कोड में एक त्रुटि हुई। चूंकि आप अकेले हैं जिन्होंने उत्तर दिया, यह उचित है कि आपको बक्षीस मिलें :) धन्यवाद – Tim