स्वीकृत उत्तर के विपरीत आपको कस्टम ट्रस्ट मैनेजर की आवश्यकता नहीं है, आपको अपने सर्वर कॉन्फ़िगरेशन को ठीक करने की आवश्यकता है!
गलत तरीके से स्थापित डायनाडॉट / अल्फ़ाज़ल प्रमाणपत्र के साथ अपाचे सर्वर से कनेक्ट करते समय मैंने उसी समस्या को मारा। मैं HttpsUrlConnection (Java / Android) का उपयोग कर कनेक्ट कर रहा हूं, जो फेंक रहा था -
javax.net.ssl.SSLHandshakeException:
java.security.cert.CertPathValidatorException:
Trust anchor for certification path not found.
वास्तविक समस्या एक सर्वर मिसकंफिगरेशन है - इसे http://www.digicert.com/help/ या इसी तरह की जांच करें और यह आपको समाधान भी बताएगा:
"प्रमाण पत्र एक विश्वसनीय प्राधिकारी (मोज़िला के रूट स्टोर के खिलाफ जाँच) द्वारा हस्ताक्षरित नहीं है। यदि आपने एक विश्वसनीय प्राधिकारी से प्रमाण पत्र खरीदा है, तो आपको संभवतः एक या एक से अधिक मध्यवर्ती प्रमाण पत्र स्थापित करने की आवश्यकता है । अपने प्रमाणपत्र प्रदाता से संपर्क करें। सर्वर प्लेटफ़ॉर्म। "
आप सर्टिफिकेट को ओपनसेल के साथ भी देख सकते हैं:
openssl s_client -debug -connect www.thedomaintocheck.com:443
आप शायद देखेंगे:
Verify return code: 21 (unable to verify the first certificate)
और, आउटपुट में पहले:
depth=0 OU = Domain Control Validated, CN = www.thedomaintocheck.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 OU = Domain Control Validated, CN = www.thedomaintocheck.com
verify error:num=27:certificate not trusted
verify return:1
depth=0 OU = Domain Control Validated, CN = www.thedomaintocheck.com
verify error:num=21:unable to verify the first certificate`
प्रमाणपत्र श्रृंखला में केवल 1 तत्व (आपका प्रमाणपत्र) होगा:
Certificate chain
0 s:/OU=Domain Control Validated/CN=www.thedomaintocheck.com
i:/O=AlphaSSL/CN=AlphaSSL CA - G2
... लेकिन हस्ताक्षर करने वाले अधिकारियों को एक श्रृंखला में वापस संदर्भ देना चाहिए जो कि Android (Verisign, GlobalSign, आदि) द्वारा विश्वसनीय है:
Certificate chain
0 s:/OU=Domain Control Validated/CN=www.thedomaintocheck.com
i:/O=AlphaSSL/CN=AlphaSSL CA - G2
1 s:/O=AlphaSSL/CN=AlphaSSL CA - G2
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
2 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
आपके सर्वर को कॉन्फ़िगर करने के लिए निर्देश (और मध्यवर्ती प्रमाण पत्र) आमतौर पर प्राधिकरण द्वारा प्रदान किए जाते हैं जो आपके प्रमाण पत्र को जारी करते हैं, उदाहरण के लिए: http://www.alphassl.com/support/install-root-certificate.html
अपने प्रमाणपत्र जारीकर्ता द्वारा प्रदान किए गए मध्यवर्ती प्रमाणपत्रों को स्थापित करने के बाद अब मुझे HttpsUrlConnection का उपयोग करते समय कोई त्रुटि नहीं है।