证书验证不使用链信任的代理设置

时间:2012-06-08 17:16:06

标签: c# wcf proxy certificate x509certificate

我一直在努力让WCF客户端通过Web代理工作。如果我手动指定代理如下,我可以让http请求工作。

WebProxy proxy = new WebProxy("http://x.x.x.x:3128", false);
proxy.Credentials = new NetworkCredential("user", "pass");
WebRequest.DefaultWebProxy = proxy;

但是,我将客户端服务代理设置为使用ClientCredentials.ServiceCertificate.Authentication.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.ChainTrust;

检查发送的数据包,客户端成功连接到服务器,然后尝试验证服务提供的证书。此验证尝试失败,因为对链的请求没有代理授权标头(它们因407错误而失败)。如何才能获得这些请求以正确使用指定的DefaultWebProxy?

如果我将验证模式设置为None,那么它当然都有效,但我真的不想这样做。

1 个答案:

答案 0 :(得分:1)

此设置仅影响邮件级别证书。对于传输级别尝试这样的http://webservices20.blogspot.co.il/2008/12/wcf-gotcha-disabling-ssl-validation.html