【发布时间】:2019-12-31 03:35:49
【问题描述】:
我正在尝试通过 TLS 连接到带有 JMS 的 IBM MQ。我在 IBM MQ 控制台的通道上将 TLS_RSA_WITH_AES_256_CBC_SHA256 设置为 SSL 密码规范。
在连接工厂我这样做:
cf.setSSLCipherSuite("TLS_RSA_WITH_AES_256_CBC_SHA256")
我得到:
原因:com.ibm.mq.MQException: JMSCMQ0001: IBM MQ call failed with compcode '2' ('MQCC_FAILED') reason '2400' ('MQRC_UNSUPPORTED_CIPHER_SUITE')`
我已经完成了这里的步骤: https://developer.ibm.com/answers/questions/472052/how-do-i-configure-ssl-tls-between-java-client-and/
我不确定此错误是否意味着握手失败(由于证书/密钥库配置错误)或其他原因。
【问题讨论】:
-
如果您使用的是非 IBM jre,则需要此设置
System.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", "false"); -
我应该提到我正在设置它 - 但通过 application.properties 文件。为了确定,我将尝试编程版本。另外,我会查看其他帖子,看看我发现了什么。
-
mq jar 文件是什么版本的?版本为 4 位。前任。 8.0.0.12 或 9.0.0.7。
-
System.setProperty('javax.net.debug', 'ssl');通常有助于了解这些错误的原因。