【发布时间】:2012-03-10 05:27:06
【问题描述】:
我正在准备一个通过 SSL 连接到 Websphere MQ 7.0 的测试环境,所以在我开始 configuring the SSL connection from JMS side 之前,我必须自己在 Websphere MQ 上配置 SSL。
所以,我正在尝试按照these 步骤为 Websphere MQ 创建 SSL 证书。但是当我尝试使用命令 gsk7cmd.exe -cert -receive -db key.kdb -pw pass -file QMANAGER_signed.arm 将签名证书添加到存储库时,我收到错误:
An attempt to receive the certificate has failed.
All the signer certificates must exist in the key database.
我什至尝试了 C 命令gsk7capicmd,但它也失败了,并出现错误:
Error: 146
Error id: GSKKM_ERR_INVALID_CERT_CHAIN
Details: QMANAGER_signed.arm
更新 1:
我使用 WMQ SSL 向导创建了正确的配置。配置进行得很顺利,但是当我运行 SSL 向导中包含的 JMS 示例时,我收到错误:MQJE001: Completion Code '2', Reason '2397'
SSL 日志(使用选项-Djavax.net.debug=all)显示以下错误:
Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2397;AMQ9771: SSL handshake failed. [1=javax.net.ssl.SSLHandshakeExcep
tion[Remote host closed connection during handshake],3=localhost/127.0.0.1:1414 (localhost),4=SSLSocket.startHandshake,5
=default]
at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:995)
at com.ibm.mq.jmqi.remote.internal.system.RemoteConnection.connect(RemoteConnection.java:989)
at com.ibm.mq.jmqi.remote.internal.system.RemoteConnectionPool.getConnection(RemoteConnectionPool.java:293)
at com.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1371)
at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:331)
... 7 more
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at com.ibm.jsse2.jc.a(jc.java:380)
at com.ibm.jsse2.jc.g(jc.java:115)
at com.ibm.jsse2.jc.a(jc.java:240)
at com.ibm.jsse2.jc.startHandshake(jc.java:54)
at com.ibm.mq.jmqi.remote.internal.RemoteTCPConnection.protocolConnect(RemoteTCPConnection.java:989)
... 11 more
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at com.ibm.jsse2.a.a(a.java:7)
at com.ibm.jsse2.jc.a(jc.java:493)
... 15 more
更新 2:
使用 T.Rob 在他的回答中提到的诊断技术,我仍然停留在第 3 点,并出现与以前相同的错误。
【问题讨论】: