如何将 WCF 服务参考客户端与 X.509 客户端证书一起使用,该证书只能作为 .pfx 文件使用?
How to use WCF service reference client with X.509 client certificate, which is only available as .pfx file?
上下文
我有一个经过测试的工作 WCF 服务,该服务配置为客户端证书身份验证。现在我想调用它并提供客户端证书。我想使用在我向客户端项目添加服务引用时生成的客户端 class。
注意:我必须从文件或其他流加载我的 X 509 客户端证书,因为客户端将 运行 在 PaaS 环境中,所以我没有访问任何 OS 提供的证书存储。
X509Certificate certificate = new X509Certificate(path, password);
问题
我知道我可以通过以下方式配置客户端:
client.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.CurrentUser,
StoreName.My,
X509FindType.FindBySubjectName,
"myCert");
遗憾的是,SetCertificate 没有接受加载的 X509Certificate 实例的重载。
如何配置我的客户端以使用加载的 X509 证书?
您只需要:
client.ClientCredentials.ClientCertificate.Certificate = certificate
上下文
我有一个经过测试的工作 WCF 服务,该服务配置为客户端证书身份验证。现在我想调用它并提供客户端证书。我想使用在我向客户端项目添加服务引用时生成的客户端 class。
注意:我必须从文件或其他流加载我的 X 509 客户端证书,因为客户端将 运行 在 PaaS 环境中,所以我没有访问任何 OS 提供的证书存储。
X509Certificate certificate = new X509Certificate(path, password);
问题
我知道我可以通过以下方式配置客户端:
client.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.CurrentUser,
StoreName.My,
X509FindType.FindBySubjectName,
"myCert");
遗憾的是,SetCertificate 没有接受加载的 X509Certificate 实例的重载。
如何配置我的客户端以使用加载的 X509 证书?
您只需要:
client.ClientCredentials.ClientCertificate.Certificate = certificate