Podrška za TLS sustava zadani verzije obuhvaćene .NET Framework 3.5 na Windows 8.1 i Windows Server R2 2012.

Vrijedi za: .NET Framework 3.5 Service Pack 1Windows 8.1Windows Server 2012 R2 Datacenter

.NET framework verzije 3.5 SP1 i ranije 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 SP1.
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. 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 možete postaviti pomoću protokola kao follows: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 postavite registra spomenute u prvom odlomku i u aplikaciji SslProtocols vrijednost je postavljena kao SslProtocols.None, zatim zadano ponašanje sustava je odabrali koji će ovise o verziji operacijskog sustava Windows. Također kada mijenjate koda aplikacije da biste omogućili podršku za v1.2 TLS s .NET Framework 3.5 SP1 potrebno je provjeriti na računalima gdje zakrpa nije uvedeno rukovati izbačena 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 će baci prilikom pozivanja bilo API AuthenticateAs *:
    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 zadano skup po ključ registra koja je spomenuta ranije za određene aplikacije možete učiniti dodavanjem sljedećeg ključa 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