Weblogic SSL 握手失败
Weblogic SSL Handshake failure
我在执行 WS 调用时遇到异常。
服务器:WL 9.2
Java : 1.5
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)
找不到这个原因。
请指教
已解决。
问题是我们调用的服务器 (WebLogic 12\Java 8) 生成了 DemoIdentity.jks,其中包含使用 SHA256WITHRSA 算法的证书,调用服务器 (WebLogic 9.2 \ Java1.5).
我使用 WL9.2 CertGen 生成了新的 DemoIdentity.jks,它使用 MD5WITHRSA 算法生成证书,我将它放在 WebLogic12\lib 文件夹中,然后我们能够成功调用 Weblogic 12服务器。
我在执行 WS 调用时遇到异常。 服务器:WL 9.2 Java : 1.5
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)
找不到这个原因。 请指教
已解决。
问题是我们调用的服务器 (WebLogic 12\Java 8) 生成了 DemoIdentity.jks,其中包含使用 SHA256WITHRSA 算法的证书,调用服务器 (WebLogic 9.2 \ Java1.5).
我使用 WL9.2 CertGen 生成了新的 DemoIdentity.jks,它使用 MD5WITHRSA 算法生成证书,我将它放在 WebLogic12\lib 文件夹中,然后我们能够成功调用 Weblogic 12服务器。