2016-01-21 2 views
4

На нашем Windows Server 2008 R2 требуется отключить TLS 1.0.Включен ли TLS 1.1 и TLS 1.2 для .NET 4.5 и .NET 4.5.1

Однако у нас есть службы .NET 4.5 Wcf. Мы обнаружили, что если мы отключим TLS 1.0, что службы WCF больше не будут выполняться, мы получим ошибку «существующее соединение было принудительно закрыто удаленным хостом».

Включен ли TLS 1.1/1.2 в .NET 4.5 и .NET 4.5.1? Если нет, то мы предполагаем, что это так, где в нашем проекте WCF мы вынуждаем проект использовать TLS 1.1/1.2?

+0

Вообще нет, протокол по умолчанию SSL 3. См. Этот http://stackoverflow.com/questions/28286086/default-securityprotocol-in-net-4-5 – JConstantine

+0

Дубликат? http://stackoverflow.com/questions/29663974/wcf-client-in-net-4-51-how-to-enable-tls-1-2-when-webrequest-is-used – usselite

ответ

18

No. по умолчанию протоколы Включенные для различных каркасных версий:

  • .NET Framework 4.5 и 4.5.1: SSLv3 и TLSv1
  • .NET Framework 4.5.2: SSLv3, TLSv1, и TLSv1.1
  • .NET Framework 4.6 и выше: TLSv1, TLSv1.1 и TLS1.2

Источники: [1][2]

Вы можете указать, какие протоколы приложение поддерживает с помощью ServicePointManager класса, в частности, установив SecurityProtocol свойство, которое в вашем случае, если вы хотели бы установить на следующее:

System.Net.ServicePointManager.SecurityProtocol = 
    SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; 
+3

Большое вам спасибо - это сумасшедший, что это не было выбрано в качестве ответа. Одна строка кода, и вы сохранили мне часы отладки или взлома реестра. Спасибо. – bri

+0

Это определенно правильно. Тем не менее, также возможно включить TLS 1.2 без изменений кода, установив .NET 4.6 или выше и включив [ключи реестра сильной криптографии .NET] (https://docs.microsoft.com/en-us/officeonlineserver/enable-tls -1-1-и-TLS-1-2-поддержка-в-офисно-онлайн-сервер # включить-тысячную-криптографию-в-нетто-рамочном-45-или-выше). Больше информации здесь: https://github.com/TheLevelUp/pos-tls-patcher – user24601

Смежные вопросы