मैं HTTPS के माध्यम से एक जावा वेब एपीआई को जोड़ने की कोशिश कर रहा हूं; हालाँकि, एक अपवाद फेंका गया है:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException
मैंने इन चरणों का पालन किया, जो मैंने ऑनलाइन केटूल और एसएसएल प्रमाणित ट्यूटोरियल से सीखे:
मैंने ब्राउज़र में HTTPS URL की प्रतिलिपि बनाई, SSL प्रमाणपत्र डाउनलोड किए और उन्हें इंटरनेट एक्सप्लोरर का उपयोग करके ब्राउज़र में इंस्टॉल किया।
प्रमाणपत्रों को मेरे कंप्यूटर पर पथ पर निर्यात किया गया, प्रमाणपत्रों को सहेज लिया गया
.cer
Keytool के आयात विकल्प का उपयोग किया। नीचे दिए गए आदेश को बिना किसी त्रुटि के निष्पादित किया गया है।
keytool -import -alias downloadedCertAlias -keystore C:\path\to\my\keystore\cacerts.file -file C:\path\of\exportedCert.cer
मुझे कमांड प्रॉम्प्ट पर एक पासवर्ड के लिए कहा गया था, जो मैंने दर्ज किया था तब मैं प्रमाणित किया गया था।
cmd
खिड़की कुछ प्रमाण पत्र डेटा और हस्ताक्षर मुद्रित और मैं प्रश्न के साथ संकेत दिया गया था:इस प्रमाणपत्र पर भरोसा करें?
मैंने हां में जवाब दिया।
Cmd शीघ्र प्रदर्शित
प्रमाणपत्र कीस्टोर में जोड़ा गया था
हालाँकि उस संदेश के बाद, एक और अपवाद प्रदर्शित किया गया था:
keytool error: java.io.FileNotFoundException: C:\Program files\...\cacerts <Access Denied>
अंत में जब मैंने कीस्टोर की जाँच की, तो एसएसएल सर्टिफिकेट नहीं जोड़ा गया था और मेरा आवेदन वही अपवाद देता है जो मुझे कनेक्ट करने का प्रयास करते समय पहले मिल रहा था:
(javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException)
keytool
कमांड को पोस्ट कर सकते हैं जिसे आपने निष्पादित किया है, और यह आउटपुट है? यहाँ स्पष्ट मुद्दों में से कुछ-keystore
तर्क के टाइपो हैं , और तथ्य यह है कि कीटल को कुंजी को आयात करने में असमर्थ पाया गया था