【问题标题】:TLS UpgradationTLS 升级
【发布时间】:2016-03-27 16:06:26
【问题描述】:
    public bool CheckValidationResult(ServicePoint sp, 
        System.Security.Cryptography.X509Certificates.X509Certificate cert, WebRequest req, int problem)
    {

        return true;
    }

在这里,我可以单独使用 Tls 1.2 从 Web 服务访问 Web 服务。

所以,在方法中的 return true 之前添加以下行之后。 , 然后,我可以访问该服务并获得响应。

这是处理这些或任何其他方式的正确方法吗? ? ?

请帮助任何有这方面经验的人。

提前致谢。

//这里给定协议版本,或操作员接受 tls 1.1 ,1.2 和 1.0 以及 ssl3

        sp.Expect100Continue = true;  
        ServicePointManager.Expect100Continue = true;
        ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Tls12;  

【问题讨论】:

    标签: web-services ups


    【解决方案1】:

    不,这不是正确的方法!虽然我知道有 100 名开发人员这样做(证书验证返回 true),但是他们的通信不再安全,并且现在受到中间人和重放攻击,这是人类已知的最常见的 SSL 攻击。

    事实上,您需要为证书验证提供“全面的实现”,它基于多个 RFC(搜索:X.509 证书验证)。您至少需要检查证书的有效性(日期),使用 CA 的公钥验证主题签名哈希并验证 CA 的 CRL 撤销(确保服务器证书未被撤销)。不过……

    为简单起见,在不降低 TLS 完整性的情况下,您可以简单地检查“问题”(int 问题),然后根据问题的值返回 true 或 false。操作系统应根据内部操作系统安全策略设置问题值。就个人而言,我仍然更喜欢“全面实施”,因为操作系统安全策略可能很弱、被淹没或损坏(被黑客入侵)。如果您需要有关“全面实施”的更多详细信息,请告诉我

    【讨论】:

      猜你喜欢
      • 2017-02-25
      • 2017-09-25
      • 2018-10-17
      • 2018-10-20
      • 1970-01-01
      • 2016-12-21
      • 2014-05-11
      • 1970-01-01
      • 2019-12-13
      相关资源
      最近更新 更多