簡體   English   中英

您可以定義WCF服務使用的證書嗎?

[英]Can you define what certificate a WCF Service uses?

我們有多個程序可以使用一項WCF服務。 客戶端發送消息時,他們可以定義客戶端證書和服務證書。 做簽名和加密。 據我所知,服務可以在啟動時同時設置。 但是我發現在服務如何根據每個請求檢查證書方面存在困難。

如果程序A使用證書,而程序B使用其他證書。 有沒有辦法告訴WCF如何在不使用Windows證書存儲的情況下查找這些證書? 我知道如何從文件中加載X509Certificate2,但似乎無法找到需要覆蓋的部分,以根據即將發生的事情告訴它使用特定的證書。到目前為止,我所做的一切都是在尋找該客戶端的證書。證書存儲。 業務規則寧願我們將它們放在要加密的其他位置。 我希望程序A的請求使用一個文件,而程序B的請求使用另一個我可以指定的文件。

為了進行客戶端身份驗證,您實際上需要證書+私鑰,即不僅是證書。

您需要一個既包含證書又包含其對應私鑰的.PFX文件。 PFX受密碼保護。

這是一個示例代碼:

Client client = new Client();

var cert = new X509Certificate2(File.ReadAllBytes("c:\\certificate_with_key.pfx"), "pfx_password");

client.ClientCredentials.ClientCertificate.Certificate = cert;

暫無
暫無

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

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