Поддръжка за TLS система по подразбиране версии, включена в .NET Framework 2.0 SP2 за Windows Vista SP2 и Server 2008 SP2

.NET framework версия 2.0 Service Pack 2 (SP2) и по-ранни версии кодиран използване на слой със защитени сокети (SSL) v3.0 и защита на транспортния слой (TLS) v1.0 от по подразбиране, освен ако друг протокол версия е зададена от приложението, .NET. Тази актуализация за .NET Framework 2.0 SP2 за Windows Vista SP2 и Windows Server 2008 SP2 добавя възможност да използва SSL и TLS по подразбиране, които се предоставят от операционната система.

Забележка това съдържание е бил предоставен на Windows Update. За да получите съдържанието, сканирате Windows Update за най-новите актуализации на .NET Framework. Ако вашата система е напълно актуализиран чрез Windows Update, не е необходимо да предприемате допълнителни действия. 

Решение

Информация за изтегляне

Следните файлове са достъпни за изтегляне от центъра на Microsoft за изтегляния:Download Изтеглете сега пакета за базирани на x86.Download Изтеглете сега пакета за базирани на x64.Download Изтеглете сега пакета за базирани на IA64. Сме направили следните подобрения в тази област:

  • Следните регистър ключове може да бъде настроена да използва операционната система по подразбиране за 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 код или чрез конфигурационни файлове за конкретна стойност или използва SslStream.AuthenticateAs* API за да зададете конкретни SslProtocols enum, настройка на системния регистър проблем не възниква.

  • В допълнение ние сте добавили SslProtocolsExtensions изброяване, които можете да използвате като опция за настройка TLS v1.2, TLS v1.1, както и операционната система по подразбиране за свойството ServicePointManager.SecurityProtocol при насочване на .NET Framework версия 2.0 SP2. (Вижте раздела Разработчик насоки за информация как да използвате разширения.) Забележка Windows Vista SP2 и Windows Server 2008 SP2 поддържа защита на транспортния слой (TLS) протокол версии по-нови от 1.0. Управлявани приложения на .NET Framework 2.0 SP2, работещи под Windows Vista SP2 или Windows Server 2008 SP2 не използвате TLS 1.2 или TLS 1.1, дори ако тези протоколи са зададени в свойството ServicePointManager.SecurityProtocol .

За повече информация как да изтеглите файлове за поддръжка на Microsoft щракнете върху следния номер на статия в базата знания на Microsoft:

119591 Как да получите файлове за поддръжка на Microsoft от онлайн услуги Microsoft е сканирал този файл за вируси. Microsoft използва най-новия софтуер за откриване на вируси, който е достъпен към датата на публикуване на файла. Файлът е записан на сървъри с повишена защита, които помагат за предотвратяването на неупълномощени промени във файла.

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

Определяне на нови разширения са следните файлове:

  • 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 v1.2, включват изходните файлове във вашия проект и след това задайте версията на протокола чрез следните методи:

  • Приложения, които използват API за ServicePointManager да зададете протокола чрез following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Приложения, които използват SslStream AuthenticateAsClient (низ, X509CertificateCollection, SslProtocols, Boolean) претоварване да зададете стойността на SslProtocols като SslProtocolsExtensions.Tls12.

Ако е зададена на настройката на регистъра, споменат в първия абзац и SslProtocols стойността е зададена в приложението като SslProtocols.None, системата подразбиращата се е избран зависи от версията на Windows. Също така когато променяте кода на приложението да активирате поддръжката за TLS v1.2 с .NET Framework 3.5 SP1, трябва да проверите, че работи по следните изключения на компютри, на които тази корекция не е разположен:

  1. Ако не е инсталирана актуална корекция, ServicePointManager-базирани програмни интерфейси (HTTP, FTP, SMTP) ще хвърли "System.NotSupportedException: Исканият защитен протокол не се поддържа" при извикване на ServicePointManager.SecurityProtocol да зададете нова стойност.

  2. Ако не е инсталирана актуална корекция, SslStream-базирани интерфейси ще хвърли изключения, когато те извикват или с AuthenticateAs *:

    System.ArgumentException: Зададената стойност не е валидна в изброяване на "SslProtocolType". Име на параметъра: sslProtocolType

Забележка За SslStream , комбинация от Tls12, Tls11 с някой от съществуващите Tls, Ssl3, Ssl2 (например: Tls12 | Tls11 | TLS) ще мълчаливо връщането към съществуващите протоколи (например: Tls) на система, без корекции. Той ще се свърже Tls без хвърляне на изключението.

Повече информация

За да разрешите TLS v1.1 или v1.2 като операционната система по подразбиране, следвайте инструкциите в https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Забележка Не са налични в Windows Vista или Windows Server 2008.If, трябва да забраните операционната система по подразбиране, които са зададени с ключа на системния регистър, описан в раздела "Решение" за определени приложения, можете да направите това чрез добавяне на TLS v1.1 и v1.2 следния ключ на системния регистър: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

За повече информация относно TLS v1.2 вижте въвеждане TLS v1.2. След като разрешите ключ на системния регистър 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 SP2 и Windows Server 2008 SP2

Изкл.

На

На

На

На

На

N/A

N/A

N/A

N/A

Windows 7 SP1 и Windows Server 2008 R2 SP1

Изкл.

На

На

На

На

На

Изкл.

Изкл.

Изкл.

Изкл.

Windows Server 2012

Изкл.

Изкл.

На

На

На

На

На

На

На

На

Windows 8.1 и Windows Server 2012 R2

Изкл.

Изкл.

На

На

На

На

На

На

На

На

Windows 10

Изкл.

Изкл.

На

На

На

На

На

На

На

На

Windows 10 (1511)

Изкл.

Изкл.

На

На

На

На

На

На

На

На

Windows 10 (1607) и Windows Server 2016

N/A

N/A

Изкл.

Изкл.

На

На

На

На

На

На

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×