繁体   English   中英

如何在运行时将安全协议更新为TLS 1.2

[英]How can I update Security Protocol to TLS 1.2 at run time

无法使用Global.asax的Application_Start中调用的以下代码来更新安全协议,(可能是因为CAS通信在到达此代码行之前就已经失败了)

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

我有在4.0框架中开发的.net应用程序,该应用程序预期将使用比TLS 1.2更早的安全协议。 由于TLS问题,我的CAS身份验证未能重定向到我的应用程序。 为了解决此问题,我确实在web.config中进行了有针对性的框架更改,如下所示。

<httpRuntime requestValidationMode="2.0" targetFramework="4.6" />

但是上述解决方案导致了不同的问题。 因此,现在我想弄清楚的是通过使用安全协议更新到1.2解决我的CAS问题。 请帮助我如何处理我的情况。

如果您的系统上安装了.NET 4.5或更高版本,则您发布的代码为: ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; 无需更改您的应用程序针对的.NET框架即可正常工作。

如果无法在系统上升级.NET Framework,则需要将SchUseStrongCrypto和SystemDefaultTlsVersions注册表项设置为1。

来自: https : //docs.microsoft.com/zh-cn/dotnet/framework/network-programming/tls

对于.NET Framework 3.5-4.5.2而非WCF

我们建议您将应用程序升级到.NET Framework 4.7或更高版本。 如果无法升级,请执行以下步骤。 在将来的某个时候,您的应用程序可能会失败,直到您升级到.NET Framework 4.7或更高版本。

SchUseStrongCryptoSystemDefaultTlsVersions注册表项设置为1。请参阅通过Windows注册表配置安全性。 仅当传递显式TLS值时,.NET Framework 3.5版才支持SchUseStrongCrypto标志。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM