温馨提示:本文翻译自stackoverflow.com,查看原文请点击:visual studio - How to invoke a Web Service which requires a certificate in C#?
c# certificate visual-studio web-services

visual studio - 如何调用需要使用C#证书的Web服务?

发布于 2020-03-27 10:46:49

我需要与具有.asmxWeb服务的第三方进行通信该Web服务正在使用https。我具有所需的证书(.pfx)。

首次尝试Add Service Reference在Visual Studio中使用添加此服务时,出现错误。通过将证书导入Personal商店,我通过了此错误完成此操作后,我尝试再次添加服务引用,并且它可以正常工作。现在,我可以创建Web服务的实例。真好

但是现在我想调用该服务。当我这样做时,我得到这个错误:

302通知:数字证书丢失

那么,如何告诉我的服务使用正确的证书?

查看更多

查看更多

提问者
Martijn
被浏览
133
Martijn 2016-03-24 17:03

我终于设法解决了我的问题,如下所示:

var service = new Service1SoapClient();
service.ClientCredentials.ClientCertificate.SetCertificate(StoreLocation.CurrentUser, StoreName.TrustedPublisher, X509FindType.FindByIssuerName, "name_of_issuer");
((BasicHttpBinding)service.Endpoint.Binding).Security.Mode = BasicHttpSecurityMode.Transport;
((BasicHttpBinding)service.Endpoint.Binding).Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;