.NET 4.5(或 4.5.1)是否能够与安全协议无关?
Is .NET 4.5 (or 4.5.1) capable of being security protocol agnostic?
我读了 about security protocol configuration in .NET - Great stuff, 。
这个 post 是一个 TL;DR,是我在 .
中遇到的特定问题的通用版本
我的问题是,是否可以将 ASP.NET 应用程序配置为 协议不可知?
短期内,我可以添加这一行
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;
让我的代码仅适用于致力于 TLS 的客户端,但将来我需要在新协议出现时更新它。它是硬编码的,即 smelly
As I understand it,将值添加到 ServicePointManager.SecurityProtocol
集合会将 .NET 配置为在某个协议失败时尝试重新协商连接。我希望它回到服务器配置上。
换句话说,I/is 如何配置我的 ASP.NET 应用程序,使其遵守由 IISCrypto 查看的注册表项建立的安全协议配置?
我找到了 .
的解决方案
必要的更改是将 "SchUseStrongCrypto"=dword:00000001
值添加到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
键。
现在我们的客户使用此代码来正确配置其环境的安全协议,无需将任何内容硬编码到 ServicePointManager.SecurityProtocol
集合中。
我读了
这个 post 是一个 TL;DR,是我在
我的问题是,是否可以将 ASP.NET 应用程序配置为 协议不可知?
短期内,我可以添加这一行
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;
让我的代码仅适用于致力于 TLS 的客户端,但将来我需要在新协议出现时更新它。它是硬编码的,即 smelly
As I understand it,将值添加到 ServicePointManager.SecurityProtocol
集合会将 .NET 配置为在某个协议失败时尝试重新协商连接。我希望它回到服务器配置上。
换句话说,I/is 如何配置我的 ASP.NET 应用程序,使其遵守由 IISCrypto 查看的注册表项建立的安全协议配置?
我找到了
必要的更改是将 "SchUseStrongCrypto"=dword:00000001
值添加到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319
键。
现在我们的客户使用此代码来正确配置其环境的安全协议,无需将任何内容硬编码到 ServicePointManager.SecurityProtocol
集合中。