我在我的网站上使用一个网络服务。提供程序提供了一个示例代码,代码中有如下一行:
// For Ignore SSL Error
ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; };web服务将用户链接到自己的页面,然后返回到我的网站。它使用https。
这个代码应用程序是什么?是因为在用户的网络浏览器中忽略了认证错误吗?
我认为,与web服务器的网站认证可能不是有效的认证,或者它只是一个本地认证。我说的对吗?
谢谢。
发布于 2014-10-22 11:48:52
认为它只用于绕过无效的SSL证书是一种常见的错误。但是,许多人使用此回调来忽略无效的证书。
此回调提供了附加SSL证书检查的功能,否则无法访问访问信息。例如,只有在此回调中,才能获得无法在外部处理的特定证书错误:名称匹配/不匹配(它们存储在sslPolicyErrors参数中)。此外,chain参数包含服务器发送的确切证书链。当系统存储缺少中间CA证书时,该对象可用于构造证书链。
例如,当您从Thawte (或其他提供程序)购买证书时,它们的证书没有“证书颁发机构颁发器”访问方法,并且系统存储区中没有安装中级证书。在这种情况下,您将无法为该证书构建链。但是,web浏览器不会抱怨,因为丢失(在客户端上)证书是随SSL握手从web服务器提供的。这个回调是访问它们的唯一途径。
而且我不会绕过生产环境中的SSL错误,因为它会打开安全漏洞。
https://stackoverflow.com/questions/26386253
复制相似问题