我在执行 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\Java 1.5) 无法读取该证书。
我使用 WL9.2 CertGen 生成了新的 DemoIdentity.jks,它使用 MD5WITHRSA 算法生成证书,我将它放在 WebLogic12\lib 文件夹中,然后我们能够成功调用 Weblogic 12 服务器。
关于ssl - Weblogic SSL 握手失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29943064/