Сбой приложения .NET после обновления TLSv1 до TLSv1_2016 - PullRequest
0 голосов
/ 05 июля 2018

Я не эксперт по 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 ]

0 голосов
/ 27 июля 2018

All

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

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

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

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

Теперь мы собираемся перенастроиться на FW 472 ... но есть некоторые проблемы ...

0 голосов
/ 05 июля 2018

Неправильный документ, который вы читаете в MSDN.

Пожалуйста, посетите последнюю версию документации Microsoft, например, 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 Framework. (Слишком много «если еще» в этой статье, поэтому тратьте достаточно времени на каждый соответствующий абзац и проводите соответствующие эксперименты.)

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

...