Applies ToWindows 8 Windows Server 2012 Datacenter Windows Server 2012 Essentials Windows Server 2012 for Embedded Systems Windows Server 2012 Foundation Windows Server 2012 Standard

.NET framework 3.5 ir ankstesnės versijos nepalaiko programų, kurios naudoja transportavimo lygmens saugos (TLS) sistemos numatytąsias versijas kaip šifravimo protokolą. Šis naujinimas įgalina TLS v1.2 naudojimą .NET Framework 3.5.

PastabaŠis  turinys buvo pasiekiamas Windows naujinime. Norėdami gauti turinį, nuskaitykite Windows naujinimą, kad gautumėte naujausius .NET Framework naujinimus. Jei jūsų sistema yra visiškai atnaujinta naudojant Windows naujinimą, nereikia imtis tolesnių veiksmų.

Sprendimas

Atsisiųsti informaciją

Šias karštąsias pataisas, kurios atitinka KB3154519, buvo pakeisti naujausiais ".NET Framework" naujinimais, kuriuose yra visos pataisos, kurios anksčiau buvo įtrauktos į KB3154519. Rekomenduojama įdiegti naujausius ".NET Framework" naujinimus.Šioje srityje atlikome šiuos patobulinimus:

  • Šiuos registro raktus galima nustatyti naudoti SSL ir TLS numatytąsias operacinės sistemos reikšmes, o ne .NET Framework kompiuterio valdomos taikomosios programos numatytuosius parametrus.

    • 64 bitų operacinėms sistemoms:[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 bitų operacinėms sistemoms:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001

    Pastaba Jei taikomoji programa nustatė ServicePointManager.SecureProtocol kodą arba per konfigūracijos failus į konkrečią reikšmę arba naudoja SslStream.AuthenticateAs* API, kad nurodytų konkretų SslProtocols išvardiją, registro parametro veikimas nesiseka.

  • Be to, įtraukėme SslProtocolsExtensions išvardijimo, kurį galite naudoti kaip parinktį nustatydami TLS v1.2, TLS v1.1, taip pat "ServicePointManager.SecurityProtocol" ypatybės operacinę sistemą, kai ji skirta ".NET Framework" 2.0 SP2 versijai. (Informacijos, kaip naudoti plėtinius, žr. skyriuje Kūrėjo rekomendacijos.) Pastaba Windows "Vista SP2" ir "Windows Server 2008" SP2 nepalaiko transportavimo lygmens saugos (TLS) protokolo versijų, naujesnių nei 1.0. Valdomos ".NET Framework 2.0" SP2 taikomosios programos, veikiamos "Windows Vista SP2" arba "Windows Server 2008" SP2, negali naudoti TLS 1.2 arba TLS 1.1, net jei šie protokolai nustatyti ypatybėje ServicePointManager.SecurityProtocol.

Jei reikia daugiau informacijos apie tai, kaip atsisiųsti "Microsoft" palaikymo failus, spustelėkite toliau nurodytą straipsnio numerį ir peržiūrėkite "Microsoft" žinių bazės straipsnį:

119591 Kaip gauti "Microsoft" palaikymo failus iš internetinių tarnybų" "Microsoft" nuskaitė šį failą dėl virusų. "Microsoft" naudojo dabartinę virusų aptikimo programinę įrangą, kuri buvo pasiekiama failo paskelbimo dieną. Failas saugomas sustiprintos saugos serveriuose, kurie padeda apsisaugoti nuo neleistinų failo keitimų.

Kūrėjo rekomendacijos

Naujų plėtinių apibrėžimas yra šie failai:  

  • SecurityProtocolTypeExtensions.csnamespace System.Net { naudojant System.Security.Authentication; viešoji statinė klasė 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 { viešosios statinės klasės SslProtocolsExtensions { public const SslProtocols Tls12 = (SslProtocols)0x00000C00; public const SslProtocols Tls11 = (SslProtocols)0x00000300; } }

Norėdami įtraukti TLS v1.2 palaikymą, įtraukite šaltinio failus į projektą, tada nustatykite protokolo versiją šiais būdais:  

  • Taikomosios programos, kurios naudoja "ServicePointManager" pagrįstas API, gali nustatyti protokolą naudodami šiuos veiksmus: System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Programos, kurios naudoja SslStream AuthenticateAsClient(Eilutė, X509CertificateCollection, SslProtocols, Boolean) perkrovą, gali nustatyti SslProtocols reikšmę kaip SslProtocolsExtensions.Tls12.

Jei registro parametras, paminėtas pirmoje pastraipoje, nustatytas ir SslProtocols reikšmė programoje nustatoma kaip SslProtocols.None, pasirinkta sistemos numatytoji veikimo parinktis priklausys nuo Windows versijos.Be to, kai pakeičiate programos kodą, kad įgalintumėte TLS v1.2 palaikymą su ".NET Framework 3.5" SP1, turėtumėte įsitikinti, kad kompiuterių, kuriuose ši pataisa neįjungta, išimčių:  

  1. Jei karštosios pataisos neįdiegtos, "ServicePointManager" pagrindo API (HTTP, FTP, SMTP) išmes "System.NotSupportedException: pageidaujamas saugos protokolas nepalaikomas", kai programa iškvėpė ServicePointManager.SecurityProtocol, kad nustatytų naują reikšmę.

  2. Jei karštoji pataisa neįdiegta, SslStream pagrindo API išmes išimtis, kai jie skambina į vieną iš Autentifikuoties* API:

    System.ArgumentException: nurodyta reikšmė netinkama išvardijimo "SslProtocolType".Parametro pavadinimas: sslProtocolType

Pastaba Tik "SslStream" – "Tls12", "Tls11" derinys su bet kuriuo iš esamų Tls, Ssl3, Ssl2 (pvz.: Tls12 | Tls11 | Tls) tyliai pereis prie esamų protokolų (pvz., Tls) sistemoje be pataisos. Jis prisijungs prie "Tls" neišmesdamas išimties.  

Daugiau informacijos

Norėdami įgalinti TLS v1.1 arba v1.2 kaip numatytąją operacinę sistemą, vykdykite nurodymus, pateiktus https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Pastaba"TLS v1.1" ir "v1.2" nėra "Windows Vista" arba "Windows Server 2008".Jei turite išjungti operacinės sistemos numatytąsias reikšmes, nustatytas registro rakte, paminėtame konkrečių programų skyriuje "Sprendimas", galite tai padaryti įtraukdami šį registro raktą:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions <<Visas failo .exe kelias>> DWORD 0 C:\MyApp\MyApp.exe DWORD 0

Daugiau informacijos apie TLS v1.2 žr . TLS v1.2 įvadas.Įgalinus SystemDefaultTlsVersions .NET registro raktą, kiekvienos "Windows" versijos veikimas skiriasi, kaip parodyta toliau pateiktoje lentelėje.  

Windows versija

SSL2 klientas

SSL2 serveris

SSL3 klientas

SSL3 serveris

TLS 1.0 klientas

TLS 1.0 Server

TLS 1.1 klientas

TLS 1.1 serveris

TLS 1.2 klientas

TLS 1.2 serveris

Windows Vista SP2" ir "Windows Server 2008" SP2

Išjungta

On

On

On

On

On

N/A

N/A

N/A

N/A

Windows 7 SP1 ir Windows Server 2008 R2 SP1

Išjungta

On

On

On

On

On

Išjungta

Išjungta

Išjungta

Išjungta

„Windows Server 2012“

Išjungta

Išjungta

On

On

On

On

On

On

On

On

"Windows 8".1" ir "Windows Server 2012 R2"

Išjungta

Išjungta

On

On

On

On

On

On

On

On

„Windows 10“

Išjungta

Išjungta

On

On

On

On

On

On

On

On

Windows 10 (1511)

Išjungta

Išjungta

On

On

On

On

On

On

On

On

Windows 10 (1607) ir "Windows Server 2016"

N/A

N/A

Išjungta

Išjungta

On

On

On

On

On

On

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.