将证书附加到 SOAP 客户端。C#

Attach Certificate to SOAP Client. C#

提问人:Deven Hill 提问时间:5/25/2023 更新时间:5/25/2023 访问量:61

问:

我得到了一个 wsdl 文件(第一次使用这种类型的软件)并将其导入到我的项目中。我从该 wsdl 引用创建了一个客户端,并尝试将证书附加到客户端。我可以确认在代码中设置了证书,但是当我尝试发出请求时,我收到异常,因为请求未与证书一起发送。


            ServicePointManager.ServerCertificateValidationCallback = (obj, certificate, chain, errors) => true;
            StringBuilder sb = new StringBuilder();
            var binding = new BasicHttpBinding();
            binding.Security.Mode = BasicHttpSecurityMode.Transport;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
            MyServiceClient client = new MyServiceClient(binding, new EndpointAddress(myEndpoint));

            try
            {

                client.ClientCredentials.ClientCertificate.SetCertificate(StoreLocation.LocalMachine, StoreName.My, X509FindType.FindByThumbprint, certThumbprintString);
                client.ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.PeerTrust;


                var response = await client.sendRequest(XMLData);

            }

在 sharkwire 中,它还说我缺少证书(查看图片)。如何在 C# 中设置证书,但不能在请求中发送?我的代码有问题吗?是证书吗?同样,这对我来说都是全新的,所以任何事情都有帮助。提前致谢!

(https://i.stack.imgur.com/eirgF.png)

我尝试更改绑定,不同的证书,投入了大量日志记录,并出现了所有相同的例外“被策略拒绝”。

C# asp.net Web 服务 SOAP x509Certificate2

评论


答: 暂无答案