.net - 你能给我一些关于 .NET 和 TLS 1.2 的一般性建议吗

标签 .net ssl

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

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

在调用失败的服务之前。

但是,我还有这些问题。

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

最佳答案

TLS 1.2 是 .NET Framework 4.6.2 及更高版本中的默认协议(protocol)。

如果您确保您的应用程序使用 4.6.2 或更高版本的目标框架运行,则无需包含该行代码。

当我遇到这个问题时,我还必须确保 <httpRuntime> Web.config 中的节点明确指出目标框架(例如 <httpRuntime targetFramework="4.6.2" /> )

关于.net - 你能给我一些关于 .NET 和 TLS 1.2 的一般性建议吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52546466/

相关文章:

c# - MemoryMappedFile.CreateFromFile 总是抛出 UnauthorizedAccessException

.net - VS 2015。为 ASP.NET 5 Web 项目设置正确的目标框架

c# - SQL 查询表示未提供参数,但已添加到 SqlCommand 对象

.net - 执行 .net 方法时如何重定向 Powershell 中的错误输出?

android - 将 SSL 添加到 NFC 连接

python - 在python中将服务器证书添加到CA_BUNDLE

c# - 永久修改App.config C#

c++ - openssl 包含 Visual Studio 2012 无法识别的路径

php - ubuntu 14.04 php 7 curl 无法获得颁发者证书

.htaccess - 将选择的页面重定向到 https