我在进行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)
无法找到原因。 请指教。
答案 0 :(得分:0)
解决。
问题是我们调用的服务器(WebLogic 12 \ Java 8)生成了DemoIdentity.jks,其中包含SHA256WITHRSA算法的证书,调用服务器无法读取该算法(WebLogic 9.2 \ Java 1.5)。
我使用WL9.2 CertGen生成了新的DemoIdentity.jks,它使用MD5WITHRSA算法生成证书,我将它放在WebLogic12 \ lib文件夹中,然后我们就能成功调用Weblogic 12服务器。