启用了SSL的MQ客户端连接

时间:2016-01-06 16:13:11

标签: .net ssl ibm-mq mq

我有一个.net mq客户端尝试连接到启用了ssl的mq服务器。我在客户端计算机上安装了证书。下面是我用来连接MQ Server的代码。我创建了一个keydatabase文件,使用ikeyman将私钥和根证书和中间证书添加到.kdb文件中

            prop.Add(MQC.HOST_NAME_PROPERTY, "xx.xx.xx.xxx");
            prop.Add(MQC.CHANNEL_PROPERTY, "xxx");
            prop.Add(MQC.PORT_PROPERTY, "xxx"));
            prop.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
            prop.Add(MQC.CONNECT_OPTIONS_PROPERTY, MQC.MQCNO_RECONNECT_Q_MGR);
            prop.Add(MQC.SSL_CIPHER_SUITE_PROPERTY, "SSL_RSA_WITH_3DES_EDE_CBC_SHA");
            prop.Add(MQC.SSL_CERT_STORE_PROPERTY, "xxx\\xxx\\");
            prop.Add(MQC.SSL_CIPHER_SPEC_PROPERTY, "TRIPLE_DES_SHA_US");
            qmanager = new MQQueueManager("xxx", props);                  

            queue = qmanager.AccessQueue("xxx",
                     MQC.MQOO_INPUT_AS_Q_DEF + MQC.MQOO_FAIL_IF_QUIESCING);

当它尝试连接到队列管理器客户端时抛出异常 AMQ9665:SSL通道远程端关闭SSL连接。 。请帮忙

1 个答案:

答案 0 :(得分:0)

是。您可能需要:

prop.Add(MQC.SSL_CERT_STORE_PROPERTY, sslKeyRepository);;
prop.Add(MQC.SSL_CIPHER_SPEC_PROPERTY, "TLS_RSA_WITH_AES_128_CBC_SHA256");

请阅读MQ知识中心here以获取更多信息。