.NET40兼容,默认框架越新集成的TLS协议版本就越高,最新最安全的是TLS1.3版本。
[SecurityCritical]
[SecuritySafeCritical]
private static void InitialSecurityProtocol()
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
| SecurityProtocolType.Tls
| (SecurityProtocolType)0x300 // Tls11
| (SecurityProtocolType)0xC00 // Tls12
| (SecurityProtocolType)0x3000; // Tls13
}
catch (Exception)
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
| SecurityProtocolType.Tls
| (SecurityProtocolType)0x300 // Tls11
| (SecurityProtocolType)0xC00; // Tls12
}
catch (Exception)
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
| SecurityProtocolType.Tls
| (SecurityProtocolType)0x300; // Tls11
}
catch (Exception)
{
try
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
| SecurityProtocolType.Tls;
}
catch (Exception) { }
}
}
}
}
该代码段展示了如何在.NET40应用程序中强制使用最高级别的TLS协议,包括TLS1.3,以增强安全性。即使在不支持最新协议的环境中,也提供了回退机制以确保至少使用TLS1.1。
1万+

被折叠的 条评论
为什么被折叠?



