Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Версії .NET framework версії 3.5 із пакетом оновлень 1 (SP1) і попередніх версій не підтримують використання стандартних версій протоколу TLS як криптографічного протоколу. Це оновлення дає змогу використовувати TLS версії 1.2 в .NET Framework 3.5 із пакетом оновлень 1 (SP1).

Примітка . Це вміст був доступний у Windows Update. Щоб отримати вміст, відсканувати Windows Оновити, щоб отримати останні .NET Framework оновлень. Якщо ваша система повністю оновлювальна за допомогою Windows Update, вам не потрібно вживати подальших дій.

Спосіб вирішення

Відомості про завантаження

Виправлення, що відповідають kb3154520, замінено на останні оновлення .NET Framework, які містять усі виправлення, раніше включені в KB3154520. Ми рекомендуємо інсталювати останні оновлення .NET Framework.

У цій області внесено такі вдосконалення:

  • Для наведених нижче розділів реєстру можна встановити стандартні значення операційної системи для протоколів 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

    Примітка. Якщо програма задав API ServicePointManager.SecureProtocol у коді або через файли конфігурації на певне значення або використовує API SslStream.AuthenticateAs*, щоб указати певний enum SslProtocols, настройки реєстру не відбуваються.
     

  • Крім того, ми додали перелічення SslProtocolsExtensions, який можна використовувати як параметр для настроювання TLS 1.2, TLS версії 1.1, а також стандартні значення операційної системи для властивості ServicePointManager.SecurityProtocol під час вибору версії .NET framework версії 2.0 із пакетом оновлень 2 (SP2). (Докладні відомості про використання розширень див. в розділі "Довідник розробника").

    Примітка Windows Vista з пакетом оновлень 2 (SP2) і Windows Server 2008 з пакетом оновлень 2 (SP2) не підтримують протокол TLS, новіші за 1.0. Керовані програми .NET Framework з пакетом оновлень 2 (SP2) версії 2.0 із пакетом оновлень 2 (SP2) у версії Windows Vista з пакетом оновлень 2 (SP2) або Windows Server 2008 із пакетом оновлень 2 (SP2) не можуть використовувати TLS 1.2 або TLS 1.1, навіть якщо ці протоколи задаються у властивості ServicePointManager.SecurityProtocol.


Щоб отримати додаткові відомості про завантаження файлів служби підтримки Microsoft, клацніть номер статті в базі знань Microsoft:

119591 Як отримати файли підтримки Microsoft із онлайнових служб, які Корпорація Майкрософт шукає цей файл на наявність вірусів. Корпорація Майкрософт використовувала найновішу програму виявлення вірусів, доступну в день публікації файлу. Файл зберігається на серверах із посиленою безпекою, щоб запобігти несанкціонованим змінам файлу.
 

Довідник розробника

Визначення нових розширень міститься в таких файлах:
 

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    за допомогою system.Security.Authentication;
    загальнодоступний статичний клас SecurityProtocolTypeExtensions
    {
    загальнодоступні конст. SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
    загальнодоступні конст. SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;
    public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;
    }
    }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication
    {
    загальнодоступний статичний клас SslProtocolsExtensions
    {
    загальнодоступний конст SslProtocols Tls12 = (SslProtocols)0x00000C00;
    загальнодоступний конст SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

Щоб додати підтримку протоколу TLS версії 1.2, додайте вихідні файли до проекту, а потім установіть версію протоколу такими способами:
 

  • Програми, які використовують API на основі ServicePointManager, можуть встановлювати протокол таким чином:

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

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

Якщо встановлено реєстр, згаданий у першому абзаці, а в програмі значення SslProtocols установлено значення SslProtocols.None, буде вибрано стандартну поведінку системи, яка залежатиме від версії операційної системи Windows.

Крім того, якщо ви змінюєте код програми, щоб увімкнути підтримку TLS 1.2 з пакетом оновлень 1 (SP1) для .NET Framework 3.5, переконайтеся, що на комп'ютерах, де цей пакет не розгорнуто, ви впораєтеся з такими винятками:
 

  1. Якщо виправлення не інстальовано, інтерфейси API на основі ServicePointManager (HTTP, FTP, SMTP) з'являться повідомлення "System.NotSupportedException: запитаний протокол безпеки не підтримується". Коли програма викликає ServicePointManager.SecurityProtocol, щоб установити нове значення.

  2. Якщо виправлення не інстальовано, API-коди на основі SslStream викликатимуться authenticateAs* API.

    System.argumentException: указане значення неприпустиме в перелічення "SslProtocolType".
    Ім'я параметра: sslProtocolType

Примітка. Лише для SslStream – поєднання Tls12, Tls11 із будь-яким із наявних Tls, Ssl3, Ssl2 (наприклад, 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 версії 1.1 і 1.2 недоступні в ос Windows Vista або Windows Server 2008.

Якщо потрібно вимкнути значення за замовчуванням для операційної системи, установленого розділом реєстру, згаданим вище для певних програм, це можна зробити, додавши такий розділ реєстру:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<Повний шлях до .exe файлу>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

Докладні відомості про TLS 1.2 див. в статті Загальні відомості про TLS 1.2.

Після ввімкнення розділу реєстру SystemDefaultTlsVersions .NET для кожної версії Windows поведінка відбувається по-різному, як показано в таблиці нижче.
 

Windows версії

Клієнт SSL2

SSL2-сервер

Клієнт SSL3

SSL3-сервер

Клієнт TLS 1.0

TLS 1.0 Server

Клієнт TLS 1.1

TLS 1.1 Server

Клієнт TLS 1.2

TLS 1.2 Server

Windows Vista з пакетом оновлень 2 (SP2) Windows Server 2008 із пакетом оновлень 2 (SP2)

Вимк.

Ув.

Ув.

Ув.

Ув.

Ув.

Н/А

Н/А

Н/А

Н/А

Windows 7 із пакетом оновлень 1 (SP1) і Windows Server 2008 R2 з пакетом оновлень 1 (SP1)

Вимк.

Ув.

Ув.

Ув.

Ув.

Ув.

Вимк.

Вимк.

Вимк.

Вимк.

Windows Server 2012

Вимк.

Вимк.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Windows 8.1 і Windows Server 2012 R2

Вимк.

Вимк.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Windows 10

Вимк.

Вимк.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Windows 10 (1511)

Вимк.

Вимк.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Windows 10 (1607) і Windows Server 2016

Н/А

Н/А

Вимк.

Вимк.

Ув.

Ув.

Ув.

Ув.

Ув.

Ув.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×