WCF .NET 4.0在没有TLS 1.0

时间:2015-07-01 18:30:11

标签: c# .net wcf ssl

在我工作的公司中,我们有一个产品在.NET Framework 4.0中使用SSL使用WCF over net.tcp。在特定客户端中,出于安全原因,需要禁用SSL 2,SSL 3和TLS 1。 问题是没有TLS 1.0,通信不起作用。 有人可以告诉我为什么? 我使用IISCrypto来禁用上述协议。它在此讨论中附带了示例代码。 重现场景的步骤。

  1. 禁用协议,如下图所示 IISCrypto Image

  2. 重新启动计算机

  3. 构建附带的解决方案
  4. 执行Server.exe
  5. 执行Client.exe
  6. 它将显示以下错误:服务器未对调用方进行身份验证 enter image description here

2 个答案:

答案 0 :(得分:1)

经过多次尝试,使WCF在没有TLS 1.0的情况下运行的唯一方法是启用FIPS。

点击链接https://stackoverflow.com/a/13635742/1234031 启用FIPS。

答案 1 :(得分:0)

如果您在客户端上启用了TLS 1.1和1.2,请确保它们也在服务器上启用。某些早期版本的Windows默认情况下未启用TLS 1.1和1.2,并且需要手动启用它们。

确保客户端和服务器都可以使用TLS 1.1+加密,并再次尝试连接。