繁体   English   中英

Azure Function 带有 pfx 证书的 IBM MQ 设置

[英]Azure Function IBM MQ Setup with pfx Certificate

当我尝试使用 Azure Z86408593C34AF77FDD2610DF932F85 中的IBM.XMS命名空间来设置与 IBM MQ V6 QueueManager 和 .net 客户端的连接时遇到连接问题。

我正在设置这样的连接:

XMSFactoryFactory xff = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
IConnectionFactory cf = xff.CreateConnectionFactory();
cf.SetStringProperty(XMSC.WMQ_HOST_NAME, "servername.ibmcloud.com");
cf.SetIntProperty(XMSC.WMQ_PORT, 1415);
cf.SetStringProperty(XMSC.WMQ_CHANNEL, "SYSTEM.SSL.SVRCONN");
cf.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);  //Managed Client
cf.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, "OM_QMGR");
cf.SetIntProperty(XMSC.WMQ_BROKER_VERSION, XMSC.WMQ_BROKER_V1);
cf.SetStringProperty(XMSC.WMQ_CONNECTION_NAME_LIST, "servername.ibmcloud.com(1415)");
cf.SetStringProperty(XMSC.WMQ_SSL_CLIENT_CERT_LABEL, "ibmwebspheremqsystem");
cf.SetStringProperty(XMSC.WMQ_SSL_CIPHER_SPEC, "TLS_RSA_WITH_AES_128_CBC_SHA256");
cf.SetStringProperty(XMSC.WMQ_SSL_KEY_REPOSITORY, "*SYSTEM");

return cf.CreateConnection();

当我在我的 MMC 控制台中安装了 pfx 证书的本地机器上运行它时,它可以正常工作。 我的本地系统运行正常,因为它能够从“系统”中找到 WMQ_SSL_KEY_REPOSITORY。

我在“私钥证书”下的 Azure Function 中添加了 pfx 证书,它看起来很健康,就像这张图片Azure 函数私钥证书

但是当我调用 cf.CreateConnection 时,我收到错误 2538: MQRC_HOST_NOT_AVAILABLE 作为异常。 我知道这个问题是因为 WMQ_SSL_KEY_REPOSITORY 属性,我不确定提供什么来代替“*SYSTEM”,以便它在 Azure Function 上正常工作。

对此的任何帮助将不胜感激。 谢谢你们。

这个问题在 JoshMc 的评论中得到了解决。

上面的代码只需一项修改即可与 Azure Function 一起使用。 *USER作为XMSC.WMQ_SSL_KEY_REPOSITORY的值而不是*SYSTEM ,这应该适用于 Azure Function。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM