.net - 启用 SSL 的 MQ 客户端连接

标签 .net ssl ibm-mq mq

我有一个 .net mq 客户端试图连接到启用了 ssl 的 mq 服务器。我在客户端机器上安装了证书。下面是我用来连接到 MQ 服务器的代码。我使用 ikeyman 创建了一个 key 数据库文件,并将私钥和根证书以及中间证书添加到 .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 连接被 channel 的远程端关闭。 .请帮忙

最佳答案

是的。您可能需要:

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

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

关于.net - 启用 SSL 的 MQ 客户端连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34637654/

相关文章:

windows - 带有 applicationInitialization 和 Kestrel 的 .NET Core

c# - 在 C# 中将多个事件处理程序连接到一个事件的最佳方法?

c# - 如何使用访问 token 从 Sharepoint Online 下载文件

python-2.7 - 模块 chembl_webresource_client.new_client 失败,因为 python 2.7.9 下的 urllib3 中的 ssl 损坏

java - IBM MQ Java 类中的持久订阅

java - 使用 JMS 访问 MQ

c# - Console.WriteLine 未显示在“输出”窗口中

php - 使用 Guzzle 通过 Curl 请求传递客户端证书

PHP Laravel 网络抓取 get_meta_tags

ssl - 在 MQ 窗口上更新证书后 channel 未运行