簡體   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