如何解决Windows Server 2012上的TLS 1.2
我正在寻找一种解释,说明为什么以下这种情况有效,这让我很困惑。 我通读了以下文章,但没有回答我的问题: https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls
我在IIS中有一个Web服务,并且该Web服务调用了另一台计算机上的另一个Web服务。 IIS中的Web服务是使用.NET Framework 4.5编译的。 我想通过将注册表项 disabledByDefault 和 Enabled 分别添加到相应的SCHANNEL / Protocols TLS注册表项下的1和0来禁用TLS1.0和TLS1.1。
我注意到从另一台计算机浏览到IIS中的该站点会导致TLS连接为1.2,所以一切都很好。
现在,我注意到从该Web服务到另一台机器(因此我们现在是客户端)上的Web服务的调用失败。
我做了一些阅读,并且由于应用程序是使用.NET Framework 4.5编译的,因此我需要设置注册表: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ .NETFramework \ v4.0.30319 \ SchUseStrongCrypto 设置为1以确保默认情况下.NET框架尝试使用TLS1.1或TLS1.2。 现在,它已经起作用了。
我的问题是,为什么需要设置SchUseStrongCrypto来使客户端在TLS1.2上进行通信,但是在我最初使用Web服务器的情况下,我只需要禁用TLS1.0和TLS1.1注册表项即可让它仅在TLS1.2上进行通信?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。