2015-04-29 308 views
0

我在进行WS调用时遇到了异常。 服务器:WL 9.2 的Java:1.5Weblogic SSL握手失败

Throws: javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://dez221:7054: Destination unreachable; nested exception is: 
      javax.net.ssl.SSLKeyException: FATAL Alert:BAD_CERTIFICATE - A corrupt or unuseable certificate was received.; No available router to destination] 

然后我用SSL调试开始WL上,并得到了:

<Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <write ALERT, offset = 0, length = 2> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <close(): 23074502> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <close(): 23074502> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <SSLIOContextTable.removeContext(ctx): 25553895> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <Filtering JSSE SSLSocket> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <SSLIOContextTable.addContext(ctx): 17949172> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <SSLSocket will be Muxing> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <write SSL_20_RECORD> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <isMuxerActivated: false> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <15808500 SSL3/TLS MAC> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <15808500 received HANDSHAKE> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <HANDSHAKEMESSAGE: ServerHello> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <HANDSHAKEMESSAGE: Certificate> 
    <Apr 29, 2015 2:42:00 PM IDT> <Debug> <SecuritySSL> <000000> <NEW ALERT with Severity: FATAL, Type: 42 
    java.lang.Exception: New alert stack 
      at com.certicom.tls.record.alert.Alert.<init>(Unknown Source) 
      at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source) 

无法找到这样做的原因。 请指教。

+0

你在你使用的证书上运行'keytool -v -list -keystore'吗?你在证书中使用通配符吗?什么是你的SSL配置? https://community.oracle.com/thread/1059388 http://oraclefuzion.blogspot.com/2014/07/fatal-alert-badcertificate-corrupt-or.html –

+0

Acutlly我们正在使用DemoIdentity \ DemoTrust。现在我导入我们正在调用的服务器的证书,并获取:加载truste d证书列表引发证书解析异常PKIX:AlgorithmIdentifier对象中的不支持的OID:1.2.840.113549.1.1.11。> –

回答

0

已解决。

问题是我们调用的服务器(WebLogic 12 \ Java 8)生成了DemoIdentity.jks,其中包含SHA256WITHRSA算法的证书,该证书不能被调用服务器(WebLogic 9.2 \ Java 1.5)读取。

我使用WL9.2 CertGen生成了新的DemoIdentity.jks,它使用MD5WITHRSA算法生成证书,我将它放在WebLogic12 \ lib文件夹中,然后我们能够成功调用Weblogic 12服务器。