.net - 使用 SSL 设置 .Net IBM.XMS 客户端

标签 .net encryption ibm-mq keystore

我必须创建一个客户端来监听队列上的消息。正在使用 SSL,我正在 dot net 中进行开发。我翻遍了数百页的文档和论坛,找到了一些清晰简洁的内容,但看起来事实并非如此!

我有一个 jks,并且我能够 telnet 到正在发布队列的服务器。下面是我到目前为止的代码...

var factoryfactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
var connectionfactory = factoryfactory.CreateConnectionFactory();
connectionfactory.SetIntProperty(XMSC.WMQ_CONNECTION_MODE,XMSC.WMQ_CM_CLIENT_UNMANAGED);

connectionfactory.SetStringProperty(XMSC.WMQ_SSL_KEY_REPOSITORY, @"C:\...\spindev1.key");
connectionfactory.SetStringProperty(XMSC.WMQ_SSL_CIPHER_SPEC, "SHA_WITH_RSA");
connectionfactory.SetStringProperty(XMSC.WMQ_CHANNEL, "SPINDEV1");

var connection = connectionfactory.CreateConnection();

我认为某个地方一定有密码,但我不知道如何。我当前的错误是 2538。

编辑

所以我刚刚添加了 IP 和端口,现在收到错误代码 2393。

connectionfactory.SetStringProperty(XMSC.WMQ_HOST_NAME, "**.***.***.***");
connectionfactory.SetIntProperty(XMSC.WMQ_PORT, 1431);

编辑2

好吧,现在我已经设法开始使用提供队列数据的人提供的代码,但是他说,为了使用 SSL key ,应用程序必须作为 spindev1 运行 - 当然,这意味着创建一个全新帐户?

最佳答案

对于 XMS .NET, key 存储必须是 CMS 类型,而不是 JKS。 JKS 适用于 Java 客户端。 CMS key 存储将以“.kdb”作为文件扩展名。因此,为 XMSC.WMQ_SSL_KEY_REPOSITORY 指定 CMS key 存储文件名(不带 .kdb 扩展名)。

在您使用的 CipherSpec 上,我在 MQ 中找不到 SHA_WITH_RSA。您可以验证该名称是否正确,或者您可以尝试使用不同的密码。

HTH

关于.net - 使用 SSL 设置 .Net IBM.XMS 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11247129/

相关文章:

java - 使用 Spring Boot 的 IBM MQ JMS 应用程序。出现异常 :IBM MQ call failed '2538' ('MQRC_HOST_NOT_AVAILABLE' )

java - 消费来自 MQ 的消息

.net - CSLA.NET 的替代品?

c# - C# 中的表达式树

java - IBM JMS MQ 在 MQM header 中添加用户 ID

sql - 无法创建 SQL 加密 key

java - 嵌入式数据库和加密

c# - 选择下拉列表中的第一项

c# - 在字典的值集合上应用函数

java - 如何将64位字符串转为256位AES加密的 key