发生MQException:完成代码2,原因2400 MQJE011:拒绝套接字连接尝试

时间:2016-02-09 12:41:58

标签: java ssl ibm-mq

我编写了一个将消息放入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");

2 个答案:

答案 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