使用 BasicHttpBinding 的 https 并忽略证书错误
本文关键字:证书 错误 BasicHttpBinding https 使用 | 更新日期: 2023-09-27 18:32:00
我正在使用BasicHttpBinding
来连接托管在安全(https)端口上的Web服务。 为了使它正常工作,我将Security.Mode
更改为TransportWithMessageCredential
,Security.Message
更改为BasicHttpMessageCredentialType.Cerificate
。 我也在打电话
client.ClientCredentials.ClientCertificate.SetCertificate()
以本地主机作为使用者名称。
这里的问题是,对于单元测试,我有一个来自 Web 服务器的未签名证书,应该忽略在代理创建过程中抛出的任何证书错误; 但我无法这样做,因为我不断收到一个错误,告诉我"指定证书"。 现在,我一无所知;我感谢这里的任何帮助。
可以使用以下代码跳过证书验证。这将创建一个始终为任何证书返回 true 的RemoteCertificateValidationCallback
。
System.Net.ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, errors) => true;
对于服务器 ssl,SecurityMode
应设置为 Transport
。