簡體   English   中英

在應用程序服務器上安裝IBM MQ .Net客戶端的證書名稱是什么?

[英]What certificate Name to use for IBM MQ .Net client installed on application server?

我正在使用在應用程序服務器上安裝的IBM MQ WebSphere客戶端v 7.5。

要安全地連接到MQ隊列管理器,我必須傳遞其名稱應為ibmwebspheremq +“userid”的證書。 我將我的代碼放在APP SERVER上以測試MQ連接。 如果我指定域用戶ID,它適用於我,但不適用於其他域用戶。 那么應該使用什么證書名稱,以便它適用於所有域用戶?

證書標簽:位於本地路徑上的ibmwebspeheremq.kdb

證書名稱:使用strmqikm.exe,打開上面的證書並檢查名稱截至目前,此CN是“ibmwebspheremq”+ 111111(域用戶ID),它適用於域用戶111111,但對於域用戶222222,它會拋出SSL錯誤。

必須保持PS安全性

2015年9月11日OP評論更新
我正在使用.NET應用程序並通過dll amqmdnet提供的IBM.WMQ接口完成代碼。 我有KDB證書,我剛剛在配置中提供了本地證書的路徑。 我能夠在APP服務器(MQ客戶端所在的位置)訪問特定用戶的MQ服務器,但如果我想訪問所有用戶,那么如何? 因為在我的情況下,證書標簽名稱(使用strmqikm.exe)應該像ibmwebspheremq + userid。 對於個人用戶,我可以通過單獨登錄到應用服務器來訪問證書,但不能一次訪問所有用戶。 只有一個證書,如前所述,它是非JAVA應用程序。

MQ客戶端使用IBM的C代碼,或者使用Java和JRE的JSSE提供程序。 每個都有不同的行為和要求。

Java EE App Server將使用JSSE Provider及其規則從JKS中選擇個人證書。 這可能包括也可能不包括搜索特定標簽。 使用IBM的已編譯C代碼API的任何內容需要KDB中個人證書的特定標簽。 此外,行為已從版本更改為版本,如IBM的Technote 中為MQ客戶端指定SSL證書標簽中的用戶ID所述

如技術說明中所述,Java客戶端使用標准Java方法來查找個人證書,並且根本不依賴於標簽。 該要求適用於非Java客戶端。 App服務器使用JKS,非Java客戶端使用KDB。 由於您沒有提到在JKS和KDB之間轉換證書,我將假設您的測試人員沒有使用C客戶端或KDB。

據推測,您的測試人員正在使用與應用服務器相同的JKS。 如果他們有正確的路徑和密碼來訪問它,並且如果它有個人證書,他們將能夠找到並出示個人證書。 如果它有多個個人證書,MQ無法控制它如何選擇它將呈現的那個。 那是Java的事情。 如果這是問題,答案很簡單 - 使用一個個人證書和一個密鑰庫,或者每個測試人員都有自己的JKS,每個都有自己的個人證書。

必須保持安全

在這種情況下,后一種方法是優選的。 每個測試人員都應該擁有自己的JKS和他們自己的個人證書。

另一種可能性是您擁有各種證書,每個證書都由客戶端找到並正確呈現給服務器,但是存在證書交換問題。 如果每個開發人員都有自己的證書並且這些證書都是自簽名的,那么公共部分必須在QMgr的KDB中被接受。

如果你想更精確的答案,你將需要提供更多細節,如什么樣的代碼,密鑰庫和證書,該測試儀使用與測試,這些是否是自簽名的證書,該測試儀是否都使用相同的應用程序從同一節點進行通道和測試,無論您使用的是SSLCAUTH等,我還建議您使用本答案中概述的調試程序。

MQ v7.5 C#客戶端在內部調用MQ C客戶端以建立與隊列管理器的安全連接。 登錄的用戶ID用於生成ibmwebspheremq<userid>證書標簽,並從KDB中選擇正確的客戶端證書。 因此,對於@Dirty Developer,當用戶登錄時,應用程序將連接到具有帶有其用戶標識后綴的標簽的證書存在於KDB中。

從MQ v8開始,不需要始終以userid為后綴的證書標簽。 MQ v8提供CertificateLabel屬性,應用程序可以使用該屬性指定任何證書標簽。 MQ客戶端將使用證書標簽來查找在SSL握手期間發送的個人證書。 在MQ v8 .NET客戶端中,此屬性名為MQEnvironment.CertificateLabel 以下是MQ v8中的證書標簽。

畢竟這段時間我都在研究上花了我的答案!

1)無法為每個想要在服務器上使用MQ的用戶更改證書名稱。 2)我們必須找到證書名稱,例如它將適用於所有用戶(這是我的問題?:))以及包含此更改的方法。

實際程序:
3)我已經開發了一個代碼,用於在WCF服務中連接到MQ並在IIS上托管服務
4)對於服務器上的IIS用戶,我有SERVICE ACCOUNT ,它與證書標簽綁定,即ibmwebspheremq +
5)所有想要連接的客戶端都必須調用我在IIS服務器和volla上部署的服務!!!!!! 有效。
6)您必須將該服務帳戶與您的角色/域用戶ID綁定
7)注意:在服務器上,您必須提供對IBM服務器帳戶的訪問權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM