मैं बिलाव 7.xPKIX पथ निर्माण विफल रहा: sun.security.provider.certpath.SunCertPathBuilderException: अनुरोध लक्ष्य
में TLS कनेक्शन (https) के माध्यम से वेब सेवा कॉल करने कर रहा हूँ जबकि बुला लिए वैध प्रमाण पत्र पथ को खोजने में असमर्थ वेब सेवा, मुझे निम्न त्रुटि मिल रही है। मुद्दा क्या होगा? मैंने सर्टिफिकेट और सीए बनाने की कोशिश की है।
FYI करें - https://sites.google.com/site/ddmwsst/create-your-own-certificate-and-ca
मैं CA प्रमाणपत्र और अन्य प्रमाण पत्र आयात किया है और फिर भी मैं इस मुद्दे को मिल रहा है। कृपया सलाह दें।
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'https://localhost:8443/myDomain/MyService?wsdl'.: 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
at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:262)
at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:205)
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:92)
... 37 more
Caused by: 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
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1902)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:276)
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:270)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1341)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1032)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1355)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:515)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:632)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:799)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:237)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:300)
... 43 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:385)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)
at sun.security.validator.Validator.validate(Validator.java:260)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:326)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1323)
... 61 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:196)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:380)
मैं स्थानीय रूप से निर्माण करके प्रमाण पत्र का परीक्षण कर रहा हूं। तो मैंने इन चरणों का पालन किया।
कुंजी> Keytool -genkey -alias टीएलएस -keystore TLSKeyStore.jks -keyalg आरएसए -sigalg SHA1withRSA कुंजी> Keytool निर्यात -alias टीएलएस -file TLS.cer -keystore TLSKeyStore.jks कुंजी> Keytool -certreq -alias टीएलएस -keystore TLSKeyStore.jks -file TLS.csr
सीए> सेट RANDFILE = रैंड
सीए> openssl अनुरोध -नया -keyout TLSkey.pem आउट TLSreq.pem -config C: \ OpenSSL-Win64 \ bin \ openssl.cfg
सीए> openssl x509 -signkey TLSkey.pem -req -days 3650 -in TLSreq.pem -out TLSroot.cer -extensions v3_ca
सीए> openssl X509 -CA TLSroot.cer -CAkey TLSkey.pem -CAserial serial.txt -req -इन ../Keys/TLS.csr आउट ../Keys/TLSTestCA.cer -days 365
कुंजी> keytool आयात -alias TLSCA -file ../CA/TLSroot.cer -keystore TLSKeyStore.jks कुंजी> keytool आयात -alias टीएलएस -file TLSTestCA.cer -keystore TLSKeyStore.jks
http://infposs.blogspot.it/2013/06/installcert-and-java-7.html पर उस प्रोग्राम का थोड़ा संशोधित संस्करण avaialble है यह जावा 7 के साथ एक समस्या हल करता है (जब आप प्रमाण पत्र सही तरीके से स्थापित किया गया है या नहीं, तो यह जांचने के लिए दूसरी बार इंस्टॉलकर्ट चलाते समय एक असमर्थितऑपरेशन एक्स्पेप्टियन)। – Pino