我从客户端获得了密钥文件,我需要使用它们通过 SSL 连接到 MQ。我们从客户那里得到的文件是:
xxx.crl
xxx.kdb
xxx.rdb
xxx.sth
xxx.tab
他们说的是客户端频道表。我正在尝试使用以下代码进行连接。他们说我不需要指定队列管理器,它将在客户端通道表中定义。但有一件事是他们在使用“user1”创建密钥时已经完成了。
Code:
Hashtable connectionProperties = new Hashtable();
// Add the connection type
connectionProperties.Add(MQC.TRANSPORT_PROPERTY, connectionType);
MQQueueManager qMgr;
MQEnvironment.SSLCipherSpec = "TRIPLE_DES_SHA_US";
MQEnvironment.SSLKeyRepository = @"D:\Cert\BB\key";
MQEnvironment.UserId = "user1";
MQEnvironment.properties.Add(MQC.TRANSPORT_PROPERTY, connectionType);
qMgr = new MQQueueManager();
我收到错误:
消息 =“MQRC_Q_MGR_NAME_ERROR”
我还尝试了我能够做到的远程登录服务器。
有人可以帮我看看我在这里做错了什么以及为什么会出现此错误。
我通过设置以下环境变量解决了这个问题。连接之前。
环境变量是 MQCHLLIB、MQCHLTAB、MQSSLKEYR - 使用 Environment.SetEnvironmentVariable - 设置值
<add key="MQ_SSL_CERT_PATH" value="D:\Cert\<nameof KDB with out .kdb>" />
<add key="MQ_CHANNEL_LIB" value="D:\Cert" /> --- Certs location.
<add key="MQ_CHANNEL_TAB" value="xxx.tab" />
<add key="NMQ_MQ_LIB" value="mqic.dll" /> - **Make sure you give the refarance of this DLL**
设置完所有这些后,只需调用queueManager = new MQQueueManager(); - 你应该很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)