【问题标题】:what is ServicePointManager.ServerCertificateValidationCallback什么是 ServicePointManager.ServerCertificateValidationCallback
【发布时间】:2014-12-10 17:58:18
【问题描述】:

我正在我的网站中使用网络服务。提供者提供了一个示例代码,代码中有这样一行:

// For Ignore SSL Error
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };

网络服务将用户链接到自己的页面,然后返回我的网站。它使用 https

这个代码应用程序是什么?是因为忽略了用户浏览器中的认证错误

我认为与网络服务器站点的认证可能不是有效的认证,或者它只是一个本地认证。我说的对吗?

谢谢。

【问题讨论】:

标签: ssl https ssl-certificate x509certificate


【解决方案1】:

认为它仅用于绕过无效 SSL 证书是常见的错误。但是,许多人使用此回调只是为了忽略无效证书。

此回调提供了附加对 SSL 证书的附加检查的能力,否则无法访问访问信息。例如,只有在此回调中,您才能获得无法在外部处理的特定证书错误:名称匹配/不匹配(它们存储在 sslPolicyErrors 参数中。此外,chain 参数包含服务器发送的确切证书链。当系统存储缺少中间 CA 证书时,此对象可用于构建证书链。

例如,当您从 Thawte(或其他提供商)购买证书时,他们的证书没有“Certification Authority Issuer”访问方法,并且系统存储中没有安装中间证书。在这种情况下,您将无法为该证书构建链。但是,Web 浏览器不会抱怨,因为缺少的(在客户端)证书是随来自 Web 服务器的 SSL 握手一起发送的。而这个回调是访问它们的唯一方法。

而且我不会绕过生产环境中的 SSL 错误,因为它会打开安全漏洞。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2012-12-07
    • 2015-01-29
    • 1970-01-01
    • 2015-01-30
    • 2021-11-16
    • 1970-01-01
    相关资源
    最近更新 更多