使用 SSL 到 KDPW 设置 .Net IBM.XMS 客户端

Setting up .Net IBM.XMS client with SSL to KDPW

我正在尝试使用 NEt 连接到 KDPW 中的测试环境 IBM.XMS

我收到了来自 KDPW 的证书,该证书存储在 Windows 证书存储中。

我根据收到的证书创建了一个 KDB 文件。 KDB 文件存储在目录 C:\directory 中。 KDB 文件的名称是 nameOfKdbFile.kdb

当我尝试连接时收到错误代码:

IBM.XMS.XMSException: 'CWSMQ0006E: 在调用方法 ConnectionFactory.CreateConnection 期间接收到异常:CompCode:2,原因:2538。 在执行指定方法期间,另一个组件抛出异常。

你能帮帮我吗?

代码:

cf.SetStringProperty(XMSC.WMQ_HOST_NAME, "ipAddress");
cf.SetIntProperty(XMSC.WMQ_PORT, port);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, "channel");
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "queueManager");

cf.SetStringProperty(XMSC.WMQ_SSL_PEER_NAME, "peerName");
cf.SetStringProperty(XMSC.WMQ_SSL_CIPHER_SPEC, "cipherSpec");


cf.SetStringProperty(XMSC.WMQ_SSL_KEY_REPOSITORY, @"C:\directory\nameOfKdbFile");
cf.SetStringProperty(XMSC.WMQ_SSL_CLIENT_CERT_LABEL, "ibmwebspheremquserid");

非托管模式正在使用设置:

IConnectionFactory cf = factoryFactory.CreateConnectionFactory();


cf.SetStringProperty(XMSC.WMQ_HOST_NAME, "ipAddress");
cf.SetIntProperty(XMSC.WMQ_PORT, port);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, "channel");
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT_UNMANAGED);
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "queueManager");

cf.SetStringProperty(XMSC.WMQ_SSL_PEER_NAME, "peerName");
cf.SetStringProperty(XMSC.WMQ_SSL_CIPHER_SPEC, "cipherSpec");

cf.SetStringProperty(XMSC.WMQ_SSL_KEY_REPOSITORY, @"C:\directory\nameOfKdbFile");
cf.SetStringProperty(XMSC.WMQ_SSL_CLIENT_CERT_LABEL, "ibmwebspheremquserid");

Kdbfile 必须包含 3 个部分:.kdb.rdb.sth