【发布时间】:2018-08-10 06:17:53
【问题描述】:
我正在尝试从 C# 代码连接到 MQv8.0.0.8。我知道服务器参数(例如:QMgrName、主机、端口、通道名称、密码规范等)。但我不知道我需要什么/多少证书文件?我从 MQ Admin 获得了一个 java KeyStore 文件,并从中提取了:*.p7b 和 *.p12。将它们安装到我的 (Win7) 用户密钥库中。
下面是我正在尝试的代码,但它抛出 MQRC: 2538 MQRC_HOST_NOT_AVAILABLE
try
{
MQEnvironment.SSLKeyRepository = "*User";
MQEnvironment.Channel = "XXX.XXX.TLSXXX";
MQEnvironment.SSLCipherSpec = "TLS_RSA_WITH_AES_128_CBC_SHA256";
MQEnvironment.Hostname = "myhosthere";
MQEnvironment.Port = 1122;
MQQueueManager myMgr = new MQQueueManager("QMgrname");
myMgr.Connect();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
有什么线索吗?任何指向我可以开始的教程的指针。 我已阅读并尝试过:https://www.ibm.com/developerworks/community/blogs/messaging/entry/mq_v8_dot_net_samples_can_create_ssl_connection_in_managed_mode?lang=en IBm 提供的 SimplePut.exe - 不起作用(即抛出相同的错误代码 2538)
【问题讨论】:
-
从 MQ 管理员那里找出队列管理器日志中显示的错误。
-
似乎以下对我有用: 1- 安装 MQ 客户端的确切版本 2 - 安装客户端密钥并检查/更新友好名称字段。它应该匹配 ibmwebspheremq
3 - 如果服务器没有定义特定的 Default Q Mgr - SimplePut.exe 将不起作用(因为它不将 QMgr 作为参数) - 所以稍微修改它的代码。