我编写了一个将消息放入MQ的程序。当我没有配置SSL配置时,它工作正常。如果我在QueueManager和Channel中配置SSL,则始终会发生MQException:完成代码2,原因2400 MQJE011:拒绝套接字连接尝试。试过不同的密码套件 请告知如何解决它。
SSL属性:
com.ibm.mq.MQEnvironment.sslCipherSuite = "TLS_RSA_WITH_AES_256_GCM_SHA384";
System.setProperty("javax.net.ssl.trustStore", "D:/keystore/testKS.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "12345678");
System.setProperty("javax.net.ssl.keyStore", "D:/keystore/testKS.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "12345678");
答案 0 :(得分:3)
您获得的MQRC返回代码是一个非常强烈的提示。您诊断任何问题的第一步应该是查找MQRC号码。您可以在任何安装了MQ的计算机上通过键入
在命令提示符下快速执行此操作mqrc 2400
您也可以在知识中心查找。
MQRC_UNSUPPORTED_CIPHER_SUITE (2400)
如果您阅读完整描述原因代码的上述链接中的更详细信息,您将看到这意味着JSSE不支持该密码。
@Shashi在上面的评论中给出了答案,你最近介绍了你使用的密码。
答案 1 :(得分:2)
就我而言,将以下属性设置为客户端JVM会有所帮助:
-Dcom.ibm.mq.cfg.useIBMCipherMappings=false
以下是官方文件正在对其进行解释-https://www.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.dev.doc/q113210_.htm#q113210___mappings