没有TLS 1.0,WCF .NET 4.0无法运行
在我工作的公司中,我们有一个产品在.NET Framework 4.0中使用SSL使用WCF over net.tcp。 在特定客户端中,出于安全原因,存在禁用SSL 2,SSL 3和TLS 1的要求。问题是没有TLS 1.0,通信不起作用。 有人可以告诉我为什么? 我使用IISCrypto来禁用上述协议。 它在本讨论中附带了示例代码。 重现场景的步骤。
-
禁用协议,如下图所示
-
重新启动计算机
- 构建附加的解决方案
- 执行Server.exe
- 执行Client.exe
- 它将显示以下错误:调用者未通过该服务进行身份validation
家伙。
经过多次尝试,使WCF在没有TLS 1.0的情况下运行的唯一方法是启用FIPS。
点击链接https://stackoverflow.com/a/13635742/1234031启用FIPS。
如果已在客户端上启用TLS 1.1和1.2,请确保它们也已在服务器上启用。 某些早期版本的Windows默认情况下未启用TLS 1.1和1.2,并且需要手动启用它们。
确保客户端和服务器都可以使用TLS 1.1+加密,并再次尝试连接。