使用 BasicHttpBinding 的 https 并忽略证书错误

本文关键字:证书 错误 BasicHttpBinding https 使用 | 更新日期: 2023-09-27 18:32:00

我正在使用BasicHttpBinding来连接托管在安全(https)端口上的Web服务。 为了使它正常工作,我将Security.Mode更改为TransportWithMessageCredentialSecurity.Message更改为BasicHttpMessageCredentialType.Cerificate。 我也在打电话

client.ClientCredentials.ClientCertificate.SetCertificate()

以本地主机作为使用者名称。

这里的问题是,对于单元测试,我有一个来自 Web 服务器的未签名证书,应该忽略在代理创建过程中抛出的任何证书错误; 但我无法这样做,因为我不断收到一个错误,告诉我"指定证书"。 现在,我一无所知;我感谢这里的任何帮助。

使用 BasicHttpBinding 的 https 并忽略证书错误

可以使用以下代码跳过证书验证。这将创建一个始终为任何证书返回 true 的RemoteCertificateValidationCallback

System.Net.ServicePointManager.ServerCertificateValidationCallback = 
    (sender, certificate, chain, errors) => true;

对于服务器 ssl,SecurityMode应设置为 Transport