【发布时间】:2018-08-10 13:40:16
【问题描述】:
我正在使用 Java 开发一个微服务,以通过 SSL 连接到 IBM Websphere MQ V8.0。但是,我在日志中看到了这个错误:
JMSCMQ0001:IBM MQ 调用失败,compcode '2' ('MQCC_FAILED') 原因 '2059' ('MQRC_Q_MGR_NOT_AVAILABLE')
在MQ端报错CSQX673E,原因是:
SSL 或 TLS 通道的通道名称配置为使用证书标签:cert-label。但是,远程对等方没有发送必要的信息以允许本地通道使用正确的证书。远程主机是 conn-id。
谁能告诉我如何使用 Java 传递这个参数。
据我了解,CERTLABL 不是证书的一部分。
【问题讨论】:
-
这是不可能的,IBM MQ Classes for Java 和 IBM MQ Classes for JMS 不支持 TLS 的 SNI 功能,该功能允许它们在 TLS 协商期间发送通道名称。您需要连接到使用队列管理器默认证书的队列管理器上的通道。
-
谢谢。甚至 Java 8 或 Java 9 也不支持这一点。 MQ 8.0 版的 MQ 客户端类是用 Java 7 编写的吗?也相信 Java 8 支持 SNI。
标签: java ssl ssl-certificate ibm-mq