.NET framework 2.0 versijos 2 pakeitimų paketas (SP2) ir ankstesnės versijos kieta v3.0 saugiųjų jungčių lygmens (SSL) ir transportavimo lygmens saugos (TLS) v1.0 iš numatytasis nenurodyta kitą protokolo versijos dėl .NET programos. Šis naujinimas, skirtas .NET Framework 2.0 "SP2" Windows Vista SP2 "ir" Windows Server 2008 SP2 suteikia galimybę naudoti SSL ir TLS numatytąsias reikšmes, kurios teikia operacinės sistemos.
Pastaba šį turinį buvo galima įsigyti "Windows Update". Gauti turinį, "Windows" naujinimą ieškokite naujausią ".NET Framework" naujinimus. Jei jūsų sistema yra atnaujinta naudojant "Windows" naujinimą, jums nereikia imtis papildomų veiksmų.
Sprendimas
Atsisiųsti informaciją
Šie failai yra galima atsisiųsti iš Microsoft Download Center:Atsisiųskite x86 paketą dabar.Atsisiųsti x64 64 paketą dabar. Atsisiųskite x 64 pagrindo paketą dabar. Mes turime padaryti šie patobulinimai šioje srityje:
-
Šiuos registro raktus gali būti nustatytas naudoti operacinės sistemos numatytuosius parametrus SSL ir TLS vietoj kieta .NET Framework numatytuosius valdomos programos veikia kompiuteryje.
-
64 bitų operacinių sistemų:[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 programa yra ServicePointManager.SecureProtocol kodas arba konfigūracijos failus į konkrečią vertę, arba naudoja SslStream.AuthenticateAs* API nurodyti konkretų SslProtocols enum registro parametras nedaroma.
-
-
Be to, mes turime pridėti SslProtocolsExtensions atlyginimas, kuriuos galite naudoti parinkties nustatyti TLS v1.2, TLS v1.1, taip pat ServicePointManager.SecurityProtocol ypatybės numatytuosius operacinę sistemą, kai taikote .NET Framework 2.0 SP2 versija. (Žr. skyriuje Kūrėjo pagalbos informacija apie tai, kaip naudoti plėtinius.) Pastaba. "Windows Vista" SP2 ir "Windows Server 2008" SP2 nepalaiko transportavimo lygmens saugos (TLS) protokolo versijas naujesnė negu 1.0. Valdomos .NET Framework 2.0 SP2 programos veikia Windows Vista SP2 ar Windows Server 2008 SP2 negalite naudoti TLS 1.2 ir TLS 1.1, net jei šių protokolų nustatyti ypatybę ServicePointManager.SecurityProtocol .
Norėdami gauti daugiau informacijos, kaip atsisiųsti „Microsoft“ palaikymo failus, spustelėkite toliau esančio straipsnio numerį ir peržiūrėkite „Microsoft“ žinių bazės straipsnį:
119591 Kaip įsigyti „Microsoft“ palaikymo failus internetu „Microsoft“ patikrino, ar šiame faile nėra virusų. „Microsoft“ naudojo naujausią virusų aptikimo programinę įrangą, kuri buvo pasiekiama failo paskelbimo dieną. Failas laikomas padidintos saugos serveriuose, siekiant užkirsti kelią neleistinam failo modifikavimui.
Programų kūrėjų patarimų
Naujas plėtiniai apibrėžimas yra šie failai:
-
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;}}
Norėdami įtraukti TLS v1.2 palaikymas, įtraukti į šaltinio failų projektą, o tada protokolo versija naudojant šiuos metodus:
-
Programas, kurios naudoja ServicePointManager pagal API nustatyti protokolo, naudodami toliau following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;
-
Programas, kurios naudoja SslStream AuthenticateAsClient (eilutė, X509CertificateCollection, SslProtocols, Boolean) perkrovos galite nustatyti reikšmę SslProtocols kaip SslProtocolsExtensions.Tls12.
Registro parametrą, nurodytą į pirmą paragrafą, ir SslProtocols reikšmė yra nustatyta kaip SslProtocols.None, sistemos numatytuosius parametrus, kad pasirinktas priklausys nuo "Windows" versija. Be to, kai keičiate programos kodas palaikymą TLS v1.2 su .NET Framework 3.5 1 pakeitimų paketu, turėtumėte įsitikinti, kad adresas šias išimtis, kuris neįdiegtas šią pataisą kompiuteriuose:
-
Jei nėra įdiegtas karštąsias pataisas, ServicePointManager-pagal API (HTTP, FTP, SMTP) bus išmesti "System.NotSupportedException: pageidaujama saugos protokolas nepalaiko" kai programa iškviečia ServicePointManager.SecurityProtocol naują reikšmę.
-
Jei nėra įdiegtas karštąsias pataisas, SslStream-pagal API bus išmesti išimtys, kai jie kreipiasi arba AuthenticateAs API:
System.ArgumentException: Nurodyta reikšmė negalioja "SslProtocolType" skaičiaus. Parametro pavadinimas: sslProtocolType
Pastaba. Dėl SslStream tik, Tls12, Tls11 su bet kuriuo iš esamo Tls, Ssl3, Ssl2 derinys (pvz.: Tls12 | Tls11 | TLS) bus automatiškai grįžti į esamą protokolai (pvz.: Tls) be pataisos sistemoje. Jis bus prijungtas prie Tls be susiduriama išimtis.
Daugiau informacijos
Įgalinti TLS v1.1 ir v1.2 kaip numatytosios operacinės sistemos, vykdykite nurodymus, https://technet.microsoft.com/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Pastaba TLS v1.1 ir v1.2 nėra Windows Vista "arba" Windows Server 2008.If, turite išjungti operacinės sistemos parametrus, kuriuos nustatė registro raktą, paminėtam skyriuje "Sprendimas" dėl konkrečios programos, galite tai padaryti įtraukiant į Šiame registro rakte: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
Jei norite gauti daugiau informacijos apie TLS v1.2, peržiūrėkite įvesti TLS v1.2. Po to, kai SystemDefaultTlsVersions .NET registro raktą, skirtingais būdais kyla kiekvieną Windows versiją, kaip parodyta toliau pateiktoje lentelėje.
"Windows" versija |
SSL2 klientas |
SSL2 serveris |
SSL3 klientas |
SSL3 serveris |
TLS 1.0 kliento |
TLS 1.0 serverio |
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šjungti |
Apie |
Apie |
Apie |
Apie |
Apie |
N/A |
N/A |
N/A |
N/A |
"Windows 7" SP1 ir "Windows Server 2008 R2 SP1" |
Išjungti |
Apie |
Apie |
Apie |
Apie |
Apie |
Išjungti |
Išjungti |
Išjungti |
Išjungti |
„Windows Server 2012“ |
Išjungti |
Išjungti |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
"Windows 8.1" ir "Windows Server 2012 R2" |
Išjungti |
Išjungti |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
„Windows 10“ |
Išjungti |
Išjungti |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
"Windows 10" (1511) |
Išjungti |
Išjungti |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |
"Windows 10" (1607) "ir" Windows Server 2016 |
N/A |
N/A |
Išjungti |
Išjungti |
Apie |
Apie |
Apie |
Apie |
Apie |
Apie |