Сбой приложения.NET после обновления TLSv1 до TLSv1_2016

Я не эксперт по SSL/TLS. но столкнуться со следующим

Мы установили соединение с веб-сервисом от поставщика, и "политика безопасности" была TLSv1, и все работало как прелесть. Этот поставщик обновил свою политику безопасности до TLSv1_2016.

И с тех пор коммуникация не проходит. Когда они откатились, все снова работает.

Теперь, посмотрев, как мы устанавливаем связь, я запутался.

мы используем.NET (Framework 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 ответа

Все,

спасибо за вашу помощь и предложения, как будто я искал ответ и не мог найти его, это моя вина:-(

Мне сказали, что мы работали на Framework 4.7.0, и все, что я нашел, не имело смысла, теперь кажется, что наш сервер сборки использует 4.5.2 framework... и теперь все это имеет смысл.

SSL3 и TLS1 и никакой другой возможности в WCF и фреймворке 452...

еще раз, спасибо за помощь и руководство.

Сейчас мы смотрим на FW 472, но есть некоторые проблемы...

Документ, который вы читаете в MSDN, неверен.

Пожалуйста, посетите последние документы в Microsoft Docs, такие как Best Practices,

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

Вы не раскрыли достаточно (например, код WCF), но на основании информации Microsoft, WCF в более старых версиях.NET Framework по умолчанию использует SSL 3.0/TLS 1.0, и вы должны явно выбрать TLS 1.2 в своем коде, если не можете обновить.NET Каркасная версия. (Слишком много "если еще" в этой статье, поэтому тратьте достаточно времени на каждый соответствующий абзац и проводите соответствующие эксперименты.)

Самое главное, "перенастроить ваши сборки", то есть перекомпилировать ваши сборки под.NET Framework 4.6.x или 4.7.x.

Другие вопросы по тегам