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

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

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

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

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

Виправлення, що відповідають kb3154519, замінено на останні оновлення .NET Framework, які містять усі виправлення, раніше включені в KB3154519. Ми рекомендуємо інсталювати останні оновлення .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. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

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

×