Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Versiunea .NET Framework 3.5 și versiunile mai vechi nu au oferit suport pentru aplicațiile care utilizează versiunile implicite de sistem Transport Layer Security (TLS) ca protocol criptografic. Această actualizare permite utilizarea TLS v1.2 în .NET Framework 3.5.

NotăAcest  conținut a fost pus la dispoziție în Windows Update. Pentru a obține conținutul, scanați și Windows Update pentru cele mai recente .NET Framework actualizări. Dacă sistemul dvs. este complet actualizat prin intermediul Windows Update, nu trebuie să luați măsuri suplimentare.

Rezolvare

Descărcarea informațiilor

Remedierea rapidă care corespunde cu KB3154519 a fost suprasponicată cu cele mai recente actualizări de .NET Framework, care conțin toate remedierile care au fost incluse anterior în KB3154519. Se recomandă să instalați cele mai recente actualizări de .NET Framework.

Am făcut următoarele îmbunătățiri în acest domeniu:

  • Următoarele chei de registry pot fi setate să utilizeze valorile implicite ale sistemului de operare pentru SSL și TLS în locul valorilor implicite de .NET Framework codate pentru o aplicație gestionată care rulează pe computer.

    • Pentru sisteme de operare pe 64 de biți:[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

    • Pentru sisteme de operare pe 32 de biți:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    Notă Dacă aplicația a setat ServicePointManager.SecureProtocol în cod sau prin configurarea fișierelor la o anumită valoare sau utilizează API-urile SslStream.AuthenticateAs* pentru a specifica un anumit SSLProtocols enum, comportamentul setării de registry nu are loc.

  • În plus, am adăugat sslProtocolsExtensions pe care le puteți utiliza ca opțiune pentru setarea TLS v1.2, TLS v1.1, precum și valorile implicite ale sistemului de operare pentru proprietatea ServicePointManager.SecurityProtocol atunci când țintiți spre .NET Framework versiunea 2.0 SP2. (Consultați secțiunea Instrucțiuni pentru dezvoltatori pentru informații despre utilizarea extensiilor.)

    Rețineți Windows Vista SP2 și Windows Server 2008 SP2 nu acceptă versiunile de protocol Transport Layer Security (TLS) mai noi decât 1.0. Aplicațiile .NET Framework 2.0 SP2 gestionate care rulează pe Windows Vista SP2 sau Windows Server 2008 SP2 nu pot utiliza TLS 1.2 sau TLS 1.1, chiar dacă aceste protocoale sunt setate în proprietatea ServicePointManager.SecurityProtocol.

Pentru informații suplimentare despre modul de descărcare a fișierelor de suport Microsoft, faceți clic pe următorul număr de articol pentru a vizualiza articolul în Baza de cunoștințe Microsoft:

119591 Cum să obțineți fișiere de asistență Microsoft de la serviciile online Microsoft a scanat acest fișier împotriva virușilor. Microsoft a utilizat cel mai recent software de detectare a virușilor care a fost disponibil la data postării fișierului. Fișierul este stocat pe servere cu securitate îmbunătățită care previn modificările neautorizate ale fișierului.

Instrucțiuni pentru dezvoltatori

Definiția noilor extensii se află în următoarele fișiere:
 

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    utilizând System.Security.Authentication;
    public static class SecurityProtocolTypeExtensions
    {
    const public SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
    const public SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;
    const public SecurityProtocolType SystemDefault = (SecurityProtocolType)0;
    }
    }

  • SslProtocolsExtensions.csnamespace System.Security.Authentication
    {
    SslProtocolsExtensions pentru clasa statică publică
    {
    const public SslProtocols Tls12 = (SslProtocols)0x00000C00;
    const public SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

Pentru a include suportul pentru TLS v1.2, includeți fișierele sursă în proiect, apoi setați versiunea de protocol utilizând următoarele metode:
 

  • Aplicațiile care utilizează API-uri bazate pe ServicePointManager pot seta protocolul utilizând următoarele:

    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Aplicațiile care utilizează supraîncărcarea SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) poate seta valoarea SslProtocols ca SslProtocolsExtensions.Tls12.

Dacă setarea de registry menționată în primul paragraf este setată și valoarea SslProtocols este setată în aplicație ca SslProtocols.None, comportamentul implicit al sistemului ales va depinde de versiunea Windows.

De asemenea, atunci când modificați codul de aplicație pentru a activa suportul pentru TLS v1.2 cu .NET Framework 3.5 SP1, trebuie să vă asigurați că rezolvați următoarele excepții pe computerele pe care nu este implementată această corecție:
 

  1. Dacă nu este instalată remedierea rapidă, API-urile bazate pe ServicePointManager (HTTP, FTP, SMTP) vor debarasa "System.NotSupportedException: Protocolul de securitate solicitat nu este acceptat" atunci când aplicația apelează ServicePointManager.SecurityProtocol pentru a seta noua valoare.

  2. Dacă remedierea rapidă nu este instalată, API-urile bazate pe SslStream vor da excepții atunci când apelează oricare dintre API-urile AuthenticateAs*:

    System.ArgumentException: Valoarea specificată nu este validă în enumerarea "SslProtocolType".
    Nume parametru: sslProtocolType

Notă Doar pentru SslStream, o combinație de Tls12, Tls11 cu oricare dintre Tls existente, Ssl3, Ssl2 (de exemplu: Tls12 | Tls11 | Tls) va retrograda silențios protocoalele existente (de exemplu: Tls) pe un sistem fără corecție. Acesta se va conecta la Tls fără să cuoată excepția.
 

Mai multe informații

Pentru a activa TLS v1.1 sau v1.2 ca implicite pentru sistemul de operare, urmați instrucțiunile de la https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.

Rețineți că TLS v1.1 și v1.2 nu sunt disponibile în Windows Vista sau Windows Server 2008.

Dacă trebuie să dezactivați setările implicite ale sistemului de operare setate de cheia de registry menționată în secțiunea "Rezolvare" pentru anumite aplicații, puteți face acest lucru adăugând următoarea cheie de registry:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<Calea completă a fișierului .exe pentru fișierul>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

Pentru mai multe informații despre TLS v1.2, consultați Introducere în TLS v1.2.

După ce activați cheia de registry SystemDefaultTlsVersions .NET, are loc un comportament diferit pentru fiecare versiune de Windows, așa cum se arată în următorul tabel.
 

Windows versiune

SSL2 Client

SSL2 Server

SSL3 Client

SSL3 Server

TLS 1.0 Client

TLS 1.0 Server

TLS 1.1 Client

TLS 1.1 Server

TLS 1.2 Client

TLS 1.2 Server

Windows Vista SP2 și Windows Server 2008 SP2

Dezactivat

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Ne/A

Ne/A

Ne/A

Ne/A

Windows 7 SP1 și Windows Server 2008 R2 SP1

Dezactivat

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dezactivat

Dezactivat

Dezactivat

Dezactivat

Windows Server 2012

Dezactivat

Dezactivat

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Windows 8.1 și Windows Server 2012 R2

Dezactivat

Dezactivat

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Windows 10

Dezactivat

Dezactivat

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Windows 10 (1511)

Dezactivat

Dezactivat

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Windows 10 (1607) și Windows Server 2016

Ne/A

Ne/A

Dezactivat

Dezactivat

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Dați clic pe

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×