Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

.NET Framework version 3.5 och tidigare versioner stödjer inte program som använder TLS-systemstandardversioner (Transport Layer Security) som ett kryptografprotokoll. Den här uppdateringen aktiverar användningen av TLS v1.2 i .NET Framework 3.5.

Obs ! Det här innehållet har gjorts tillgängligt på Windows Update. Sök efter det innehåll du behöver Windows efter de senaste .NET Framework uppdateringarna. Om ditt system är helt uppdaterat via Windows behöver du inte vidta ytterligare åtgärder.

Lösning

Ladda ned information

Den snabbkorrigering som motsvarar KB3154519 har ersatts med de senaste uppdateringarna av .NET Framework, som innehåller alla korrigeringar som tidigare ingick i KB3154519. Vi rekommenderar att du installerar de senaste uppdateringarna .NET Framework.

Vi har gjort följande förbättringar på det här området:

  • Följande registernycklar kan ställas in så att operativsystemets standardinställningar för SSL och TLS används i stället för de hårdkodade .NET Framework-standardvärdena 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 genom konfigurationsfiler till ett specifikt värde, eller använder SSLStream.AuthenticateAs*-API:er för att ange en viss SslProtocols-uppräkning, uppstår inte registerinställningsbeteendet.

  • Dessutom har vi lagt till en sslProtocolsExtensions-uppräkning som du kan använda som alternativ för att ange TLS v1.2, TLS v1.1, samt som standardinställningar för operativsystemet för egenskapen ServicePointManager.SecurityProtocol när du riktar mål för .NET Framework version 2.0 SP2. (Se avsnittet Utvecklarvägledning för information om hur du använder tilläggen.)

    Obs Windows Vista SP2 och Windows Server 2008 SP2 stöder inte TLS-protokollversioner (Transport Layer Security) som är nyare än 1.0. Hanterade .NET Framework 2.0 SP2-program som körs på Windows Vista SP2 eller Windows Server 2008 SP2 kan inte använda TLS 1.2 eller TLS 1.1, även om dessa protokoll anges i egenskapen ServicePointManager.SecurityProtocol.

Om du vill ha mer information om hur du laddar ned Microsoft-supportfiler klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:

119591 Så här hämtar du Microsoft-supportfiler från onlinetjänster Som Microsoft skannade filen efter virus. Microsoft använde det senaste virusidentifieringsprogrammet som var tillgängligt det datum då filen publicerades. Filen lagras på servrar med säkerhet som hjälper till att förhindra obehöriga ändringar i filen.

Utvecklarvägledning

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

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    använda System.Security.Authentication;
    offentlig statisk klass 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
    {
    offentlig statisk klass SslProtocolsExtensions
    {
    public const SslProtocols Tls12 = (SslProtocols)0x00000C00;
    public const SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

Om du vill inkludera stöd för TLS v1.2 tar du med källfilerna i projektet och anger sedan protokollversionen med hjälp av följande metoder:
 

  • Program som använder ServicePointManager-baserade API:er kan ange protokollet med hjälp av följande:

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

  • Program som använder sslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean) kan ange värdet sslProtocols som SslProtocolsExtensions.Tls12.

Om registerinställningen som nämns i det första stycket har angetts och värdet SslProtocols anges som SslProtocols.None i programmet beror det valda systemstandardbeteendet på den Windows versionen.

När du ändrar programkoden för att aktivera stöd för TLS v1.2 med .NET Framework 3.5 SP1 bör du även se till att åtgärda följande undantag på datorer där korrigeringen inte har distribuerats:
 

  1. Om snabbkorrigeringen inte är installerad returnerar ServicePointManager-baserade API:er (HTTP, FTP, SMTP) "System.NotSupportedException: Det begärda säkerhetsprotokoll stöds inte" när programmet anropar ServicePointManager.SecurityProtocol för att ange det nya värdet.

  2. Om snabbkorrigeringen inte är installerad, ger SSLStream-baserade API:er undantag när de anropar någon av API:erna för AuthenticateAs*:

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

Obs! Endast för SslStream, en kombination av Tls12, Tls11 och någon av de befintliga Tlserna, Ssl3, Ssl2 (till exempel: Tls12 | Tls11-| Tls) nedgraderar tyst till befintliga protokoll (till exempel TLS) på ett system utan korrigeringen. Den ansluter till Tls utan undantag.
 

Mer information

Om du vill aktivera TLS v1.1 eller v1.2 som standard operativsystem följer du anvisningarna i 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.

Om du måste inaktivera standardinställningarna för operativsystemet som anges av registernyckeln som nämns i avsnittet "Upplösning" för specifika program kan du göra det genom att lägga till följande registernyckel:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<Fullständig sökväg till .exe för filen>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

Mer information om TLS v1.2 finns i Introduktion till TLS v1.2.

När du har aktiverar registernyckeln SystemDefaultTlsVersions .NET, uppstår ett annat beteende 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

Av

Ej ant.

Ej ant.

Ej ant.

Ej ant.

Windows 7 SP1 och Windows Server 2008 R2 SP1

Av

Av

Av

Av

Av

Windows Server 2012

Av

Av

Windows 8.1 och Windows Server 2012 R2

Av

Av

Windows 10

Av

Av

Windows 10 (1511)

Av

Av

Windows 10 (1607) och Windows Server 2016

Ej ant.

Ej ant.

Av

Av

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×