.Net Framework 4.6.1未默认为TLS 1.2 [英] .Net Framework 4.6.1 not defaulting to TLS 1.2

查看:419
本文介绍了.Net Framework 4.6.1未默认为TLS 1.2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的客户最近将安全协议升级到TLS 1.2。因此,我们将应用程序升级到4.6.1,期望安全协议默认为TLS 1.2,但不是。知道为什么吗?

解决方案

我有一个类似的问题,这对我有用。


  1. 打开Powershell并使用 [Net.ServicePointManager] :: SecurityProtocol


  2. 运行以下2个cmdlet设置。NET Framework强密码术注册表项



    在64位.Net Framework(版本4及更高版本)上设置了强大的加密功能

    Set-ItemProperty-路径'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319'-名称'SchUseStrongCrypto'-值'1'类型DWord



    在32位.Net Framework(版本4及更高版本)上设置强密码学



    Set-ItemProperty -Pat h'HKLM:\软件WMicrosoft\.NetFramework\v4.0.30319'-名称'SchUseStrongCrypto'-值'1'-Type DWord


  3. 重新启动Powershell并使用 [Net.ServicePointManager] :: SecurityProtocol

  4. $ b $再次检查支持的协议b

它现在也应该显示 Tls12



希望这会有所帮助


Our client have recently upgrade the security protocol to TLS 1.2. Therefore We have our application upgraded to 4.6.1 expecting the security protocol will be default to TLS 1.2 but it is not. Any idea why?

解决方案

I had a similar problem and this is what worked for me.

  1. open Powershell and check for supported protocols by using [Net.ServicePointManager]::SecurityProtocol

  2. Run the following 2 cmdlets to set .NET Framework strong cryptography registry keys:

    set strong cryptography on 64 bit .Net Framework (version 4 and above)

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

    set strong cryptography on 32 bit .Net Framework (version 4 and above)

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord

  3. Restart Powershell and check again for supported protocol by using [Net.ServicePointManager]::SecurityProtocol

It should now display Tls12 as well.

Hope this helps

这篇关于.Net Framework 4.6.1未默认为TLS 1.2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆