gpt4 book ai didi

c# - 如何在 C# 中调用需要证书的 Web 服务?

转载 作者:太空狗 更新时间:2023-10-30 00:49:47 27 4
gpt4 key购买 nike

我需要与具有 .asmx 网络服务的第三方通信。此 Web 服务使用 https。我有所需的证书 (.pfx)。

第一次尝试在 Visual Studio 中使用 Add Service Reference 添加此服务时,出现错误。我通过将证书导入 Personal 商店来解决这个错误。在我这样做之后,我尝试再次添加服务引用并且它有效。所以现在我可以创建一个 Web 服务实例。不错。

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

302 Notification: Digital Certificate Missing

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

最佳答案

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

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;

请使用 Certificate.pfx 并使用密码安装。

关于c# - 如何在 C# 中调用需要证书的 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36181256/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com