Weblogic SSL握手失败

时间:2015-04-29 11:58:15

标签: ssl weblogic ssl-certificate

我在进行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)

无法找到原因。 请指教。

1 个答案:

答案 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服务器。