2016-05-29 89 views
1

上下文如何使用帶有X.509客戶端證書的WCF服務引用客戶端,該客戶端證書僅可用作.pfx文件?

我有一個經過測試的工作WCF服務,它被配置爲客戶端證書身份驗證。現在我想打電話給它,並提供客戶證書。我想使用客戶端類,這是在我的客戶端項目中添加服務引用時生成的。

注意:I 必須從文件或其他流中加載我的X 509客戶端證書,因爲客戶端將在PaaS環境中運行,所以我將無法訪問任何操作系統提供的證書存儲區。

X509Certificate certificate = new X509Certificate(path, password); 

問題

我知道我可以通過以下的方式來配置客戶端:

client.ClientCredentials.ClientCertificate.SetCertificate(
    StoreLocation.CurrentUser, 
    StoreName.My, 
    X509FindType.FindBySubjectName, 
    "myCert"); 

不幸的是沒有過載SetCertificate它接受一個裝載X509證書實例。

如何配置我的客戶端使用加載的X509Certificate?

+0

什麼client.ClientCredentials.ClientCertificate.Certificate =證書? – Evk

+0

這是我的第一槍。但它是隻讀的,這就是爲什麼SetCertificate提供了 –

+0

它不是隻讀的。 – Evk

回答

2

所有你需要的只是:

client.ClientCredentials.ClientCertificate.Certificate = certificate