2016-05-29 88 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