Podrška za TLS sustava zadani verzije obuhvaćene .NET Framework 3.5.1 na Windows 7 SP1 i Server 2008 R2 SP1

Vrijedi za: Microsoft .NET Framework 3.5.1Windows 7 Service Pack 1Windows Server 2008 R2 Service Pack 1

.NET framework verzije 3.5.1 i starije verzije ne pružaju podršku za korištenje prijevoza sloj sigurnosti (TLS) Zadana verzija sustava kao kriptografske protokol aplikacijama. Ovo ažuriranje omogućuje korištenje TLS v1.2 u .NET Framework 3.5.1.
Bilješke ovog sadržaja učinio je dostupna na Windows Update. Da biste nabavili sadržaja, skeniranje Windows Update za najnovija ažuriranja .NET Framework. Ako je vaš sustav potpuno ažurni putem servisa Windows Update, ne morate poduzimati daljnje akcije.

Rješenje


Preuzimanje informacija o

Sljedeće datoteke su dostupni za preuzimanje s Microsoft Download Center:Download Odmah preuzmite paket x86 temelji. Download Odmah preuzmite paket x64 temelji. Download Preuzmite paket IA64 temelji. Sljedeća poboljšanja smo učinjene u ovom području:
  • Registar sljedećih tipki možete postaviti za korištenje operacijskih sustava zadane postavke za SSL i TLS umjesto hardcoded .NET Framework zadane postavke za upravljane aplikacije na računalu.
    • Za 64-bitne operacijske sustave:
      [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 
    • Za 32-bitne operacijske sustave:
      [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001 
    NapomenaAko je aplikacija postavljena ServicePointManager.SecureProtocol u kod ili kroz config datoteke na određenu vrijednost ili koristi SslStream.AuthenticateAs* API sučelja za određivanje na određene SslProtocols redni broj, postavka registra ponašanje pojaviti.
  • Nadalje, ste dodali enumeracija SslProtocolsExtensions koje možete koristiti kao mogućnost za postavljanje TLS v1.2, TLS v1.1, kao i zadane postavke operacijskog sustava za svojstvo ServicePointManager.SecurityProtocol kada ciljanje .NET Framework verzije 2.0 SP2. (Pogledajte odjeljak Programer smjernica za informacije na kako koristiti proširenja). Napomena Windows Vista SP2 i Windows Server 2008 SP2 ne podržavaju prijevoza sloj sigurnosti (TLS) protokol verzije novije od 1.0. Upravljani programi .NET Framework 2.0 SP2 izvodi na Windows Vista SP2 ili Windows Server 2008 SP2 ne možete koristiti TLS 1.2 ili TLS 1.1 čak i ako su te protokole postavljena u svojstvo ServicePointManager.SecurityProtocol .
Dodatne informacije o preuzimanju Microsoftovih datoteka za podršku, kliknite sljedeći broj članka u Microsoftovoj bazi znanja:
119591 Kako putem internetskih servisa preuzeti Microsoftove datoteke za podršku
Microsoft skeniranih datoteka zaraženo virusima. Microsoft je koristio najnoviji softver za otkrivanje virusa dostupan na datum na koji je proknjižena datoteku. Datoteka je pohranjena na poslužiteljima poboljšane sigurnosti koji spriječiti neovlaštene promjene na datoteci.

Razvojni vodič


Definicija novih nastavaka su u sljedeće datoteke:
  • SecurityProtocolTypeExtensions.cs
    namespace 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.cs
    namespace System.Security.Authentication{public static class SslProtocolsExtensions{public const SslProtocols Tls12 = (SslProtocols)0x00000C00;public const SslProtocols Tls11 = (SslProtocols)0x00000300;}} 
Da biste uključili podršku za TLS v1.2 izvorne datoteke uključiti u svoj projekt, a zatim postavite verziju protokola pomoću sljedećih metoda:
  • Aplikacije koje koriste ServicePointManager temelji API protokol možete postaviti korištenjem na following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;
  • Aplikacije koje koriste preopterećenja SslStream AuthenticateAsClient (String X509CertificateCollection, SslProtocols, Boolean) možete postaviti vrijednost SslProtocols kao SslProtocolsExtensions.Tls12.
Ako je postavljena postavka registra koje se spominju u prvog odlomka i vrijednost SslProtocols postavljena u aplikaciji kao SslProtocols.None, zadano ponašanje sustava koji je odabran će ovise o verziji sustava Windows. Također, kada promijenite šifru aplikacije da biste omogućili podršku za v1.2 TLS s .NET Framework 3.5 SP1, provjerite je li adresa na računalima na kojima ova zakrpa nije uvedeno sljedeće iznimke:
  1. Ako hitni popravak nije instaliran, ServicePointManager-temelju API (HTTP, FTP, SMTP) će baci "System.NotSupportedException: traženi sigurnosni protokol nije podržan" kada aplikacija poziva ServicePointManager.SecurityProtocol da biste postavili novu vrijednost.
  2. Ako hitni popravak nije instaliran, SslStream-temelju API-ji baci iznimke kada ih ili AuthenticateAs * API poziva:
    System.ArgumentException: Navedena vrijednost nije valjana u 'SslProtocolType' enumeracija. Naziv parametra: sslProtocolType
NapomenaZa SslStream samo, kombinacija Tls12, Tls11 s bilo kojom od postojećih Tls, Ssl3, Ssl2 (na primjer: Tls12 | Tls11 | TLS) će tiho vraćanje na stariju verziju za postojeće protokola (na primjer: Tls) na sustavu bez zakrpe. On će se povezati s Tls bez prijavi iznimka.

Dodatne informacije


Da biste omogućili TLS v1.1 ili v1.2 kao zadane operacijskog sustava, slijedite upute na https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Napomena TLS v1.1 i v1.2 nisu dostupni u sustavu Windows Vista ili Windows Server 2008.If imate Onemogući operacijski sustav zadane postavke koje je postavio ključ registra koje se spominju u odjeljku "Rješenje" za određene aplikacije, to možete učiniti dodavanjem u sljedeći ključ registra:
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 
Dodatne informacije o TLS v1.2 potražite Uvod TLS v1.2. Nakon što omogućite ključ registra SystemDefaultTlsVersions .NET, različito ponašanje se pojavljuje za svaku verziju sustava Windows, kao što je prikazano u sljedećoj tablici.
Verzije sustava WindowsSSL2 klijentSSL2 poslužiteljaSSL3 klijentSSL3 poslužiteljaTLS 1.0 klijentTLS 1.0 poslužiteljaTLS 1.1 klijentaTLS 1.1 poslužiteljTLS 1.2 klijentTLS 1.2 poslužitelja
Windows Vista SP2 i Windows Server 2008 SP2IsključivanjeNaNaNaNaNaN/AN/AN/AN/A
Windows 7 SP1 i Windows Server 2008 R2 SP1IsključivanjeNaNaNaNaNaIsključivanjeIsključivanjeIsključivanjeIsključivanje
Windows Server 2012IsključivanjeIsključivanjeNaNaNaNaNaNaNaNa
Windows 8.1 i Windows Server 2012 R2 IsključivanjeIsključivanjeNaNaNaNaNaNaNaNa
Windows 10IsključivanjeIsključivanjeNaNaNaNaNaNaNaNa
Windows 10 (1511)IsključivanjeIsključivanjeNaNaNaNaNaNaNaNa
Windows 10 (1607) i Windows Server 2016N/AN/AIsključivanjeIsključivanjeNaNaNaNaNaNa