Есть ли .NET-версия TLS 1.2?

Поскольку я только что обнаружил, что RFC 5425 требует использования TLS 1.2, и что .NET еще не поддерживает его, мне интересно, есть ли какая-либо реализация, возможно, с открытым исходным кодом протокола TLS 1.2, как определено в RFC 5246.

Спасибо.

Просто обнаружил, что .Net Framework 4.5 теперь поддерживает TLSv1.2
http://msdn.microsoft.com/en-us/library/system.security.authentication.sslprotocols(v=vs.110).aspx

Да, хотя вы должны включить TLS 1.2 вручную в System.Net.ServicePointManager.SecurityProtocol

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; // comparable to modern browsers var response = WebRequest.Create("https://www.howsmyssl.com/").GetResponse(); var body = new StreamReader(response.GetResponseStream()).ReadToEnd(); 

Ваш клиент использует TLS 1.2, самую современную версию протокола шифрования


Из windows WebRequest будет использовать TLS 1.0 или SSL 3 .

Ваш клиент использует TLS 1.0, который очень старый, возможно, восприимчив к атаке BEAST и не имеет на нем лучших наборов шифров. Дополнения, такие как AES-GCM и SHA256 для замены MD5-SHA-1, недоступны клиенту TLS 1.0, а также многим более современным наборам шифров.

Вы можете использовать параметр реестра SchUseStrongCrypto, чтобы все приложения .NET использовали по умолчанию TLS 1.2 вместо 1.0.

 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 

Я исправил свою проблему, переключившись на последнюю .Net Framework. Таким образом, ваша целевая платформа устанавливает ваш протокол безопасности.

когда у вас это есть в Web.config

    

вы получите это по умолчанию:

 ServicePointManager.SecurityProtocol = Ssl3 | Tls 

когда у вас это есть в Web.config

    

вы получите это по умолчанию:

 ServicePointManager.SecurityProtocol = Tls12 | Tls11 | Tls 

Если вы имеете дело со старыми версиями .NET Framework, то поддержка TLS 1.2 доступна в нашем продукте SecureBlackbox как на клиентских, так и на серверных компонентах. SecureBlackbox содержит собственную реализацию всех алгоритмов, поэтому не имеет значения, какая версия используемой платформы .NET (в том числе .NET CF) – у вас будет TLS 1.2 с последними дополнениями во всех случаях.

Обратите внимание, что SecureBlackbox не сможет добавить TLS 1.2 к classам каркаса – вместо этого вы должны явно использовать classы и компоненты SecureBlackbox.

Просто загрузите этот раздел реестра и запустите его. Он добавит необходимый ключ в реестр .NET framework. Вы можете получить дополнительную информацию по этой ссылке . Найдите «Вариант 2» в «.NET 4.5 до 4.5.2».

Файл reg добавляет следующее в реестр:

 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 

Это часть страницы, которая полезна в случае ее нарушения:

«.. включите TLS 1.2 по умолчанию без изменения исходного кода, установив значение SHUseStrongCrypto DWORD в следующих двух разделах реестра: 1, создав их, если они не существуют:« HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v4.0.30319 ” и “HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft.NETFramework \ v4.0.30319″. Хотя номер версии в этих разделах реестра 4.0.30319, эти среды используются также в платформах .NET 4.5, 4.5.1 и 4.5.2. ключи реестра, однако, будут включать TLS 1.2 по умолчанию во всех установленных приложениях .NET 4.0, 4.5, 4.5.1 и 4.5.2 в этой системе. Поэтому рекомендуется протестировать это изменение перед его развертыванием на ваши производственные серверы. также доступен как файл импорта реестра. Однако эти значения реестра не будут влиять на приложения .NET, которые устанавливают значение System.Net.ServicePointManager.SecurityProtocol. ”

Последняя версия SSPI (в комплекте с Windows 7) имеет реализацию TLS 1.2, которая может быть найдена в файле schannel.dll

В .NET Framework 4.6 по умолчанию используется TLS 1.2.

Более того, только хост-приложение должно быть в .NET 4.6, ссылки на библиотеки могут оставаться в более старых версиях.

Вы можете включить TLS 1.2 в IIS, выполнив следующие инструкции . Я предполагаю, что этого будет достаточно, если у вас есть приложение на основе ASP.NET, которое работает поверх IIS, хотя похоже, что оно действительно не соответствует вашим потребностям.

как уже упоминалось здесь, вы можете просто добавить эту строку

 ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; 
  • Не удалось добавить сертификат SSL при привязке к порту
  • Как всегда разрешать небезопасное соединение для определенного URL-адреса в хроме?
  • Java SSLHandshakeException «нет общих наборов шифров»
  • Как заблокировать определенный HTTPS-трафик?
  • Инициализация SSLContext
  • Как переопределить шифрованный список, отправленный на сервер Android при использовании HttpsURLConnection?
  • Amazon S3 - HTTPS / SSL - Возможно ли это?
  • Подтверждения IPN PayPal IPN с использованием процедур SSL: SSL3_READ_BYTES: сбой вызова подтверждения sslv3
  • SSL, Tomcat и Grails
  • Получение ошибки сертификата в IE и Chrome, но открывается в FireFox
  • Chrome переадресовывает .dev в https
  • Interesting Posts

    Поведение Crypto / AES по умолчанию Java по умолчанию

    Как открывать / передавать файлы .zip через Spark?

    Android – извлечение файлов cookie после входа в webview

    Установка переменных среды в Rails 3 (Devise + Omniauth)

    Мои браузеры не будут использовать мое полное разрешение экрана, а также использовать разные разрешения между ними

    Изменить размер изображения Codeigniter?

    Файловая система, используемая для внешнего жесткого диска для использования с компьютерами Mac, Linux и Windows

    Возможно ли polymorphism без наследования?

    Windows 7 отказывается устанавливать на gpt стилизованные разделы в режиме загрузки CMS

    Сделать параметр шаблона другом?

    Как реализовать правило пяти?

    Какой самый простой способ использовать reify (получить AST) выражение в Scala?

    Пользовательские изображения – firebase database и хранилище файловой системы

    Создание файлов Excel из C # без офиса

    На картах STL лучше использовать map :: insert, чем ?

    Давайте будем гением компьютера.