如何使用带有X.509客户端证书的WCF服务引用客户端,该证书仅作为.pfx文件提供?

时间:2016-05-29 14:34:47

标签: c# wcf wcf-security client-certificates

上下文

我有一个经过测试的工作WCF服务,该服务配置为客户端证书身份验证。现在我想打电话给它并提供客户证书。我想使用在我向客户端项目添加服务引用时生成的客户端类。

注意:我必须从文件或其他流中加载我的X 509客户端证书,因为客户端将在PaaS环境中运行,因此我将无权访问任何操作系统提供的证书存储。< / p>

X509Certificate certificate = new X509Certificate(path, password);

问题

我知道我可以通过以下方式配置客户端:

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

不幸的是,SetCertificate没有重载接受加载的X509Certificate实例。

如何配置我的客户端以使用加载的X509Certificate?

1 个答案:

答案 0 :(得分:2)

所有你需要的只是:

client.ClientCredentials.ClientCertificate.Certificate = certificate