我在Windows安装的.NET Framework 4.0上遇到了同样的问题。 我通过安装解决了这个问题 .NET Framework 4.6.2 。 或者你可以下载 最新的包裹 试一试。
我在VB中编码,并能够将以下行添加到Application_Start内的Global.asax.vb文件中
ServicePointManager.SecurityProtocol = CType(3072, SecurityProtocolType) 'TLS 1.2
如果您无法添加属性 system.net 班级图书馆。
system.net
然后,加入 的 Global.asax中 强> 文件:
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //TLS 1.2 ServicePointManager.SecurityProtocol = (SecurityProtocolType)768; //TLS 1.1
你可以在一个函数中使用它,在起始行:
ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
并且,它有用 STRIPE 支付网关,仅支持TLS 1.1,TLS 1.2。
STRIPE
的 编辑: 强> 在我的服务器上安装了很多关于.NET 4.5的问题之后......这里是截图 Registry 在我的生产服务器上:
Registry
我只安装了.NET framework 4.0。
在您的注册表中进行以下更改,它应该工作:
1.) .NET Framework强大的加密技术 注册表项
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001
2.) 安全通道(Schannel)TLS 1.2 注册表项
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
根据 的 这个 强> ,您将需要安装.NET 4.5。有关详细信息,请访问该网页。它的要点是,安装.NET 4.5后,您的4.0应用程序将使用4.5 System.dll。您可以通过两种方式启用TLS 1.2:
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319: SchUseStrongCrypto
DWORD 1