Поддержка версий по умолчанию TLS системы включены в платформа.NET Framework 3.5.1 на Windows 7 с пакетом обновления 1 и Server 2008 R2 SP1

Версия .NET framework 3.5.1 и более ранних версий не предоставил такой возможности для приложений для использования в качестве шифрования протокол версии по умолчанию система безопасности TLS (Transport Layer). Это обновление позволяет использовать TLS v1.2 в платформа.NET Framework 3.5.1.

Примечание эти материалы были сделаны доступными для центра обновления Windows. Для получения содержимого, сканирование обновления Windows для получения последних обновлений платформа.NET Framework. Если компьютер полностью обновлены через Центр обновления Windows, не требуется предпринимать никаких дополнительных действий.

Решение

Сведения о загрузке

Следующие файлы доступны для загрузки из центра загрузки Microsoft:Download Загрузить пакет на основе x86.Download Загрузить пакет на основе x64.Download Загрузить пакет IA 64. В этой области, были внесены следующие усовершенствования:

  • Следующие ключи можно задать для использования операционной системой реестра по умолчанию для SSL и TLS вместо жестко платформа.NET Framework по умолчанию для управляемого приложения, работающих на компьютере.

    • Для 64-разрядных операционных систем:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    • Для 32-разрядных операционных систем:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    Примечание.Если приложение значение ServicePointManager.SecureProtocol в коде или с помощью файлов конфигурации для конкретного значения или использует интерфейсы API SslStream.AuthenticateAs* для указания конкретного перечисления SslProtocols , параметр реестра не происходит.

  • Кроме того мы добавили перечисление SslProtocolsExtensions , которое можно использовать в качестве альтернативного варианта для настройки TLS v1.2, версия 1.1 TLS, а также операционной системы по умолчанию для свойства ServicePointManager.SecurityProtocol при ориентации на .NET Framework версии 2.0 с пакетом обновления 2. (См раздел Руководство разработчика для получения сведений о том, как использовать расширения). Примечание. Windows Vista с пакетом обновления 2 и Windows Server 2008 SP2 не поддерживают более новой, чем 1.0 версии протокола безопасности транспортного уровня (TLS). Управляемых приложений платформа.NET Framework 2.0 с пакетом обновления 2, работающих на Windows Vista с пакетом обновления 2 или Windows Server 2008 SP2 или нельзя использовать TLS 1.2 TLS 1.1, даже если эти протоколы устанавливаются в свойстве ServicePointManager.SecurityProtocol .

Дополнительные сведения о скачивании файлов с сайта технической поддержки корпорации Майкрософт см. в приведенной ниже статье базы знаний Майкрософт:

119591 Как скачать файлы технической поддержки Майкрософт через веб-службы Этот файл был проверен корпорацией Майкрософт на наличие вирусов. Корпорация Майкрософт использует самые последние на момент публикации файла версии антивирусного программного обеспечения. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.

Руководство разработчика

Определение нового расширения относятся следующие файлы:

  • SecurityProtocolTypeExtensions.csnamespace System.Net{using System.Security.Authentication;public static class SecurityProtocolTypeExtensions{public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;}}

  • SslProtocolsExtensions.csnamespace System.Security.Authentication{public static class SslProtocolsExtensions{public const SslProtocols Tls12 = (SslProtocols)0x00000C00;public const SslProtocols Tls11 = (SslProtocols)0x00000300;}}

Для поддержки TLS версии 1.2, включить исходные файлы в проект и затем установить версию протокола с помощью следующих методов:

  • Приложения, использующие API-интерфейсы на основе ServicePointManager можно настроить протокол с помощью following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Приложения, использующие класс SslStream перегрузку AuthenticateAsClient (строка, логическое значение X509CertificateCollection, SslProtocols,) , можно задать значение SslProtocols , как SslProtocolsExtensions.Tls12.

Если задать параметр реестра, описанного в первом абзаце, а SslProtocols имеет значение в приложении в качестве SslProtocols.None, поведение системы по умолчанию выбранной зависит от версии Windows. Кроме того при изменении кода приложения для поддержки TLS v1.2 с платформа.NET Framework 3.5 с пакетом обновления 1, следует убедиться в том адреса на компьютерах, на которых данное исправление не развернуты следующие исключения:

  1. Если исправление не установлено, ServicePointManager-создаст исключение на основе интерфейсов API (HTTP, FTP, SMTP) "System.NotSupportedException: указанный протокол безопасности не поддерживается» когда приложение вызывает метод ServicePointManager.SecurityProtocol для задания нового значения.

  2. Если исправление не установлено, класс SslStream-на основе интерфейсов API, исключения во время звонка или API-интерфейсов AuthenticateAs *:

    System.ArgumentException: Указанное значение не является допустимым в перечислении 'SslProtocolType'. Имя параметра: sslProtocolType

Примечание.Для SslStream , сочетание Tls12, Tls11 с любой из существующих Tls, Ssl3Ssl2 (например: Tls12 | Tls11 | TLS) будет незаметно понизить существующих протоколов (например: Tls) в системе без исправления. Подключится к Tls без генерации исключения.

Дополнительная информация

Чтобы включить TLS версии 1.1 или версия 1.2 в качестве операционной системы по умолчанию, следуйте инструкциям в https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Примечание. TLS v1.1 и v1.2 недоступны в Windows Vista или Windows Server 2008.If, чтобы отключить значения по умолчанию операционной системы, которые установлены с помощью раздела реестра, описанного в разделе «Решение» для конкретного приложения, это можно сделать, добавив Следующий раздел реестра:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions<<Full path of the .exe for the file>> DWORD 0C:\MyApp\MyApp.exe DWORD 0

Дополнительные сведения о версии 1.2 TLS v1.2 Представляем TLSсм. Если включить раздел реестра SystemDefaultTlsVersions .NET, другое поведение происходит для каждой версии Windows, как показано в следующей таблице.

Версия Windows

Клиент SSL2

Сервер SSL2

Клиент SSL3

Сервер SSL3

Протокол TLS 1.0 клиента

Протокол TLS 1.0 сервера

TLS 1.1 клиента

TLS 1.1 сервера

TLS 1.2 клиента

TLS 1.2 сервера

Windows Vista с пакетом обновления 2 и Windows Server 2008 с пакетом обновления 2

Выкл.

Вкл

Вкл

Вкл

Вкл

Вкл

N/A

N/A

N/A

N/A

Windows 7 с пакетом обновления 1 и Windows Server 2008 R2 с пакетом обновления 1

Выкл.

Вкл

Вкл

Вкл

Вкл

Вкл

Выкл.

Выкл.

Выкл.

Выкл.

Windows Server 2012

Выкл.

Выкл.

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Windows 8.1 и Windows Server 2012 R2

Выкл.

Выкл.

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Windows 10

Выкл.

Выкл.

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

10 Windows (1511)

Выкл.

Выкл.

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Windows 10 (1607) и Windows Server 2016

N/A

N/A

Выкл.

Выкл.

Вкл

Вкл

Вкл

Вкл

Вкл

Вкл

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×