将TLSv1升级到TLSv1_2016后,通信.NET应用程序失败

时间:2018-07-05 08:10:40

标签: .net security ssl tls1.1

我不是SSL / TLS专家。但遇到以下情况

我们从供应商连接到Web服务,并且“安全策略”是TLSv1,并且一切正常。 该供应商在那里将安全策略升级到TLSv1_2016。

此后通信失败。当他们回滚后,所有的作品再次出现。

现在,在研究了建立连接的方式后,我变得更加困惑。

我们使用.NET(框架4.7.0XXX) 并使用以下类 System.ServiceModel.Channels.CustomBinding

根据文档,这(默认情况下)应支持Ssl3,Tls,Tls1.1,Tls1.2。 https://technet.microsoft.com/en-us/system.servicemodel.channels.sslstreamsecuritybindingelement.sslprotocols(v=vs.96)

似乎足够。

在AWS上,我发现了以下概述

TLSv1.2支持足以满足SSLv3 TLSv1.0 TLSv1_2016 TLSv1.1_2016 TLSv1.2_2018

TLSv1.1支持足以满足SSLv3 TLSv1.0 TLSv1_2016 TLSv1.1_2016

TLSv1支持足以满足SSLv3 TLSv1.0 TLSv1_2016

因此请查看此信息。我想我们通过System.ServiceModel.Channels.CustomBinding建立连接的方式应该足以与升级后的(升级到TLSv1_2016)策略进行交互(即使它是TLSv1.1_2016,它也可以正常工作,我正在考虑在他们的交流中记错字:-))

有人遇到过这个问题吗?或有任何进一步调查的想法。

预先感谢, 问候, 乔

2 个答案:

答案 0 :(得分:0)

您在MSDN上阅读的文档不正确。

请访问Microsoft文档的最新版本,例如最佳做法,

https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls?view=netframework-4.7.2

您没有显示足够的信息(例如WCF代码),但是根据Microsoft的信息,默认情况下,较旧.NET Framework版本上的WCF默认使用SSL 3.0 / TLS 1.0,并且如果不能,则必须在代码中明确选择TLS 1.2升级.NET Framework版本。 (该文章中的“其他”过多,因此请在每个相关段落上花费足够的时间并进行相应的实验。)

最重要的是,“重新定位程序集”,这意味着可以根据.NET Framework 4.6.x或4.7.x重新编译程序集。

答案 1 :(得分:0)

全部

感谢您的所有帮助和建议,就像我一直在寻找答案而找不到它一样,这是我自己的错:-(

有人告诉我我们使用的是Framework 4.7.0,发现的所有内容都没有意义,现在看来我们的构建服务器使用的是4.5.2框架...现在一切都变得有意义了。

SSL3和TLS1,在WCF和框架452中没有其他可能性...

再次

感谢您的帮助和指导。

现在,我们希望将目标重新定位到FW 472。。但是存在一些问题...