我正在使用BasicHttpBinding
来连接托管在安全(https)端口上的Web服务。为了使其正常运行,我已将Security.Mode
更改为TransportWithMessageCredential
和Security.Message
更改为BasicHttpMessageCredentialType.Cerificate
。我也在打电话
client.ClientCredentials.ClientCertificate.SetCertificate()
以localhost作为主题名称。
这里的问题是,对于单元测试,我有来自Web服务器的未签名证书,我应该忽略在代理创建期间抛出的任何证书错误;但我无法这样做,因为我一直收到错误告诉我“指定证书”。现在,我无能为力;我感谢任何帮助。
答案 0 :(得分:9)
您可以使用以下代码跳过证书验证。这会创建一个RemoteCertificateValidationCallback
,对于任何证书都会返回true。
System.Net.ServicePointManager.ServerCertificateValidationCallback =
(sender, certificate, chain, errors) => true;
答案 1 :(得分:6)
对于服务器ssl,SecurityMode
应设置为Transport
。