Stöd för TLS System standard versioner ingår i.NET Framework 3.5.1 på Windows 7 SP1 och Server 2008 R2 SP1

Lämnade inte stöd för program som du använder Transport Layer Security (TLS) System standard versioner som kryptografiska protokoll version av .NET framework 3.5.1 och tidigare versioner. Uppdateringen gör att användning av TLS v1.2 i.NET Framework 3.5.1.

Observera detta innehåll som har gjorts tillgängliga på Windows Update. Du kan hämta innehållet igenom Windows Update efter de senaste uppdateringarna för.NET Framework. Om systemet är fullständigt uppdaterad via Windows Update, behöver du inte vidta några ytterligare åtgärder.

Lösning

Information om hämtning

Följande filer kan hämtas från Microsoft Download Center:Download Hämta paketet med x86 nu.Download Hämta paketet med x64 nu.Download Hämta paketet IA64-baserade nu. Vi har gjort följande förbättringar inom detta område:

  • Följande register nycklar kan ställas in att använda operativsystemet som standard för SSL och TLS istället för hårdkodad.NET Framework standardinställningar för ett hanterat program som körs på datorn.

    • För 64-bitars operativsystem:[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

    • För 32-bitars operativsystem:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    Obs! Om programmet har ställt in ServicePointManager.SecureProtocol i kod eller via config filer till ett visst värde eller använder SslStream.AuthenticateAs* API: er för att ange en viss SslProtocols enum registerinställningen problemet uppstår inte.

  • Dessutom har vi lagt till i SslProtocolsExtensions -uppräkningen som du kan använda som ett alternativ för att ange TLS v1.2, TLS v1.1 samt operativsystemet standardinställningar för egenskapen ServicePointManager.SecurityProtocol när målobjekt för .NET version av Framework 2.0 SP2. (Se avsnittet Vägledning för utvecklare för information om hur du använder filnamnstilläggen.) Obs! Windows Vista SP2 och Windows Server 2008 SP2 stöder inte Transport Layer Security (TLS) protokoll versioner nyare än 1.0. Hanterade.NET Framework 2.0 SP2-program som körs på Windows Vista SP2 eller Windows Server 2008 SP2 använda inte TLS 1.2 eller TLS 1.1, även om de protokoll som anges i egenskapen ServicePointManager.SecurityProtocol .

För mer information om hur du hämtar supportfiler från Microsoft klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

119591 Hur du hämtar Microsoft-supportfiler från onlinetjänster Microsoft har genomsökt denna fil efter virus. Microsoft använde det mest aktuella antivirusprogram som var tillgängligt när filen lades upp. Filen är sparad på servrar med utökad säkerhet som hjälper till att förhindra otillåtna ändringar av den.

Vägledning för utvecklare

Definitionen av nya tillägg finns i följande filer:

  • 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;}}

Om du vill inkludera stöd för TLS v1.2 innehåller källfilerna i projektet och ange protocol version med hjälp av följande metoder:

  • Program som använder ServicePointManager-baserade API: er anger protokollet genom att använda following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Program som använder SslStream AuthenticateAsClient (sträng, X509CertificateCollection, SslProtocols, Boolean) överbelastning kan ange värdet för SslProtocols som SslProtocolsExtensions.Tls12.

Om registerinställningen som nämns i första stycket anges, och värdet för SslProtocols anges i program som SslProtocols.None, beror standardbeteendet för system som väljs på vilken Windows-version. Även när du ändrar programkod för att aktivera stöd för TLS v1.2 med.NET Framework 3.5 SP1, bör du du adresserar på datorer där den här korrigeringsfilen inte distribueras följande undantag:

  1. Om snabbkorrigeringen inte är installerad, ServicePointManager-baserat API: er (HTTP, FTP, SMTP) kommer kasta ”System.NotSupportedException: det begärda säkerhetsprotokollet stöds inte” när programmet anropar ServicePointManager.SecurityProtocol att ange det nya värdet.

  2. Om snabbkorrigeringen inte är installerad, SslStream-baserat API-gränssnitt kommer kasta undantag när de ringer antingen AuthenticateAs * API:

    System.ArgumentException: Det angivna värdet är inte giltigt i uppräkningen 'SslProtocolType'. Parameternamn: sslProtocolType

Obs! För SslStream , en kombination av Tls12, Tls11 med någon av de befintliga Tls, Ssl3Ssl2 (till exempel: Tls12 | Tls11 | TLS) utan att nedgradera till befintliga protokoll (till exempel: Tls) på ett system utan korrigeringsfilen. Den ansluter till Tls utan att undantaget.

Mer information

Om du vill aktivera TLS v1.1 och v1.2 som standard i operativsystemet, följ instruktionerna på https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.Obs! TLS-v1.1 och v1.2 är inte tillgängliga i Windows Vista eller Windows Server 2008.If du måste inaktivera operativsystemet standardvärdena som anges av registernyckeln som nämns i avsnittet ”lösning” för vissa program kan du göra detta genom att lägga till den följande registernyckel: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

Mer information om TLS v1.2 finns i Introduktion till TLS v1.2. När du aktiverar registernyckeln SystemDefaultTlsVersions .NET inträffar en annan för varje version av Windows, som visas i följande tabell.

Windows-version

SSL2-klient

SSL2 Server

SSL3-klient

SSL3 Server

TLS 1.0 klient

TLS 1.0 Server

TLS 1.1 klient

TLS 1.1 Server

TLS 1.2 klient

TLS 1.2 Server

Windows Vista SP2 och Windows Server 2008 SP2

Inaktivera

N/A

N/A

N/A

N/A

Windows 7 SP1 och Windows Server 2008 R2 SP1

Inaktivera

Inaktivera

Inaktivera

Inaktivera

Inaktivera

Windows Server 2012

Inaktivera

Inaktivera

Windows 8.1 och Windows Server 2012 R2

Inaktivera

Inaktivera

Windows 10

Inaktivera

Inaktivera

Windows 10 (1511)

Inaktivera

Inaktivera

Windows 10 (1607) och Windows Server 2016

N/A

N/A

Inaktivera

Inaktivera

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×