【问题标题】:Certificate validation doesn't use proxy settings for chaintrust证书验证不使用代理设置进行链信任
【发布时间】:2012-06-08 17:16:06
【问题描述】:

我一直在努力让 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;

检查发出的数据包,客户端成功连接到服务器,但随后尝试验证服务提供的证书。此验证尝试失败,因为对链的请求没有 Proxy-Authorization 标头(它们因 407 错误而失败)。如何让这些请求正确使用指定的 DefaultWebProxy?

如果我将验证模式设置为无,那么一切正常,但我真的不想这样做。

【问题讨论】:

    标签: c# wcf proxy certificate x509certificate


    【解决方案1】:

    此设置仅影响消息级证书。对于传输级别,请尝试类似http://webservices20.blogspot.co.il/2008/12/wcf-gotcha-disabling-ssl-validation.html

    【讨论】:

    • 我不想在传输层做任何事情。这里的问题是验证失败,因为验证器无法访问证书服务器。由于某些未知原因,验证器在应该使用代理时忽略了它。
    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 2015-07-09
    • 2014-12-17
    • 2019-01-29
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多