2015-01-13 13 views
5

से HTTPS तक नहीं पहुंच सकता है मुझे वेबलॉगिक के साथ एक HTTPS सर्वर तक पहुंचने में कोई समस्या है, मैं Google या Microsoft जैसे अन्य HTTPS urls तक पहुंच सकता हूं। कोड यूआरएल से कनेक्ट करने की कोशिश करता है:वेबलॉगिक

URL url = new URL("https://myserver.com"); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setRequestMethod("GET"); 
connection.setRequestProperty("User-Agent", "Mozilla/5.0"); 

// fails here 
responseCode = connection.getResponseCode(); 

मैं निम्नलिखित स्टैक ट्रेस हो:

java.io.IOException: Connection closed, EOF detected 
    at weblogic.socket.JSSEFilterImpl.handleUnwrapResults(JSSEFilterImpl.java:539) 
    at weblogic.socket.JSSEFilterImpl.unwrapAndHandleResults(JSSEFilterImpl.java:456) 
    at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:80) 
    at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:64) 
    at weblogic.socket.JSSEFilterImpl.doHandshake(JSSEFilterImpl.java:59) 
    at weblogic.socket.JSSEFilterImpl.write(JSSEFilterImpl.java:390) 
    at weblogic.socket.JSSESocket$JSSEOutputStream.write(JSSESocket.java:78) 
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 
    at java.io.FilterOutputStream.flush(FilterOutputStream.java:140) 
    at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:186) 
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:400) 
    at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37) 
    at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:1005) 

Weblogic के कंसोल में मैं है सही पर सेट सेटिंग निम्न: पर्यावरण> सर्वर> [अपने सर्वर]> एसएसएल> उन्नत> उपयोग JSSE एसएसएल

अगर मैं अक्षम करें कि संपत्ति मैं निम्नलिखित स्टैक ट्रेस मिलती है:

javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received. 
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireException(Unknown Source) 
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown Source) 
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source) 
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source) 
    at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source) 
    at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source) 
    at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source) 
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source) 
    at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source) 
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source) 
    at com.certicom.tls.record.WriteHandler.write(Unknown Source) 
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source) 
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) 
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) 
    at java.io.FilterOutputStream.flush(FilterOutputStream.java:140) 
    at weblogic.net.http.HttpURLConnection.writeRequests(HttpURLConnection.java:186) 
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:400) 
    at weblogic.net.http.SOAPHttpsURLConnection.getInputStream(SOAPHttpsURLConnection.java:37) 
    at weblogic.net.http.HttpURLConnection.getResponseCode(HttpURLConnection.java:1005) 

जिस सर्वर का मैं उपयोग करने का प्रयास करता हूं वह एक सत्यापित प्रमाणपत्र है और ब्राउज़र इसके बारे में शिकायत नहीं करते हैं।

-DUseSunHttpHandler=true 
-Dssl.SocketFactory.provider=sun.security.ssl.SSLSocketFactoryImpl 
-Dssl.ServerSocketFactory.provider=sun.security.ssl.SSLSocketFactoryImpl 

इन पदों के अनुसार:

धन्यवाद

+0

मैं इस जवाब देने के लिए पर्याप्त जानकारी नहीं है, लेकिन यह अन्य में देखने का प्रयास (उत्तर) तो सवाल: http://stackoverflow.com/questions/6353849/received- घातक-चेतावनी-हैंडशेक-विफलता-के माध्यम से sslhandshakeexception – dcsohl

+0

क्या आप इसके बजाय 'एचटीपीएस' कनेक्शन का उपयोग नहीं करना चाहते हैं और यदि आवश्यक हो तो उन्हें कर्ट सेट करें? http://docs.oracle.com/cd/E11035_01/wls100/javadocs/weblogic/net/http/HttpsURLConnection.html –

उत्तर

2

मेरे लिए -DUseSunHttpHandler=true काम करता है का उपयोग कर, लेकिन मैं नहीं हो सकता यह पैरामीटर, क्योंकि तब मुझे पुनर्वित्त पर प्रबंधित सर्वर को पुनरारंभ करने में समस्याएं हैं।

यह मैं मदद की:

url = new URL(null,"https://yoururl.com",new sun.net.www.protocol.https.Handler()); 
+1

यह संकलन समय पर एक्लिप्स में विफल हो जाएगा, क्योंकि उस वर्ग के रूप में पहुंच योग्य नहीं है एक जावा एपीआई। हालांकि, यदि आवश्यक हो तो आप अप्रत्यक्ष रूप से प्रतिबिंब के माध्यम से इसका उपयोग कर सकते हैं। –

संबंधित मुद्दे