6

我正在使用BasicHttpBinding连接托管在安全 (https) 端口上的 Web 服务。为了让它工作,我改变了Security.ModetoTransportWithMessageCredentialSecurity.Messageto BasicHttpMessageCredentialType.Cerificate。我也在打电话

client.ClientCredentials.ClientCertificate.SetCertificate()

使用 localhost 作为主题名称。

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

4

2 回答 2

9

您可以使用以下代码跳过证书验证。这会为任何证书创建一个RemoteCertificateValidationCallback总是返回 true 的。

System.Net.ServicePointManager.ServerCertificateValidationCallback = 
    (sender, certificate, chain, errors) => true;
于 2012-04-21T09:01:06.723 回答
6

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

于 2012-04-21T10:04:46.103 回答