你能给我一些关于.NET和TLS1.2的一般建议吗

你能给我一些关于.NET和TLS1.2的一般建议吗,.net,ssl,.net,Ssl,我搜索了其他回复,对我有效的解决方案是插入 System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; 在调用失败的服务之前 然而,我还有这些问题要问 这是否只会更改该特定应用程序的默认协议 既然大多数(所有?)服务现在似乎需要升级,为什么Windows更新没有更改默认值 既然服务需要它,为什么服务开发人员提供的库没有在代码中包含它 我花了很长时间才发现问题的根源,因为我的应用程序(来自Micros

我搜索了其他回复,对我有效的解决方案是插入

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
在调用失败的服务之前

然而,我还有这些问题要问

  • 这是否只会更改该特定应用程序的默认协议
  • 既然大多数(所有?)服务现在似乎需要升级,为什么Windows更新没有更改默认值
  • 既然服务需要它,为什么服务开发人员提供的库没有在代码中包含它
  • 我花了很长时间才发现问题的根源,因为我的应用程序(来自Microsoft代码)中的错误消息只给出了一个非常普遍的错误。我应该读些什么来告诉我升级到TLS 1.2不是Windows update提供的?我花了很多时间认为这是防火墙问题
  • 那么,最好的建议是在我的每一个应用程序的开头都包含上面的代码(以防万一!!)

  • TLS 1.2是.NET Framework 4.6.2以后版本中的默认协议

    如果您确保应用程序运行的目标框架为4.6.2或更高版本,那么就不需要包含该行代码


    当我遇到这个问题时,我还必须确保Web.config中的
    节点明确声明目标框架(例如

    TLS 1.2是.NET framework 4.6.2之后的默认协议

    如果您确保应用程序运行的目标框架为4.6.2或更高版本,那么就不需要包含该行代码

    遇到此问题时,我还必须确保Web.config中的
    节点明确说明目标框架(例如

    这是否只会更改该特定应用程序的默认协议

    既然大多数(所有?)服务现在似乎需要升级,为什么Windows更新没有更改默认值

    这在技术上是一个突破性的改变,因此,将旧版本的框架选择到新的TLS配置中并不是通过Windows Update完成的。相反,它是由框架版本完成的

    在某些情况下,支持TLS 1.0的服务器可能会错误地处理提供TLS 1.2的客户端,即使服务器可以协商1.0

    微软推荐不同的处理框架版本的方法

    既然服务需要它,为什么服务开发人员提供的库没有在代码中包含它

    NET Framework上的TLS也取决于Windows的版本。客户端库不能合理地强制特定版本的TLS,除非它们也提供了自己的TLS实现

    我应该读些什么来告诉我升级到TLS 1.2不是Windows update提供的

    这是不幸的——我前面提到的指南有助于理解这个问题以及解决它的不同方法。希望在将来,错误和配置将更加清楚

    这是否只会更改该特定应用程序的默认协议

    既然大多数(所有?)服务现在似乎需要升级,为什么Windows更新没有更改默认值

    这在技术上是一个突破性的改变,因此,将旧版本的框架选择到新的TLS配置中并不是通过Windows Update完成的。相反,它是由框架版本完成的

    在某些情况下,支持TLS 1.0的服务器可能会错误地处理提供TLS 1.2的客户端,即使服务器可以协商1.0

    微软推荐不同的处理框架版本的方法

    既然服务需要它,为什么服务开发人员提供的库没有在代码中包含它

    NET Framework上的TLS也取决于Windows的版本。客户端库不能合理地强制特定版本的TLS,除非它们也提供了自己的TLS实现

    我应该读些什么来告诉我升级到TLS 1.2不是Windows update提供的

    这是不幸的——我前面提到的指南有助于理解这个问题以及解决它的不同方法。希望在将来,错误和配置将更加清楚