带有.net Framework 4.0的Tls 1.2或Tls 1.0

时间:2019-09-19 22:22:35

标签: c# .net ssl

我有一个.net 4.0 Windows服务,可以在两个不同的系统之间进行通信。一种是现在的服务,一种是消息传递总线。

服务现在正在强制tls 1.2(应如此)。通过添加ServicePointManager.SecurityProtocol =(SecurityProtocolType)768,我们将代码更新为使用1.1或1.2。 (SecurityProtocolType)3072;

问题所在,消息总线较旧并使用1.0。

有两种方法都可以支持吗?如果我升级到.net 4.7,它将适用于所有协议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

如果服务器不支持TLS1.2,它将尝试TLS1.1;如果服务器不支持TLS1.1,它将尝试TLS1.0。这样一来,您就可以使用最佳协议,如果服务器不支持它,则可以使用最佳协议。

ServicePointManager.SecurityProtocol =  
    SecurityProtocolType.Tls | 
    (SecurityProtocolType)768 | 
    (SecurityProtocolType)3072;
  

有两种方法都可以支持吗?如果我升级到.net 4.7,它将正常工作   适用于所有协议?

是的(就您的问题而言,任何和所有),我相信.Net 4.5及更高版本都可以做到这一点...

ServicePointManager.SecurityProtocol = 
            SecurityProtocolType.Tls | 
            SecurityProtocolType.Tls11 | 
            SecurityProtocolType.Tls12;