Die .NET Framework-Version 3.5 SP1 und frühere Versionen bieten keine Unterstützung für Anwendungen zur Verwendung von TLS (Transport Layer Security) System Standardversionen als kryptografisches Protokoll. Dieses Update ermöglicht die Verwendung von TLS v1.2 in .NET Framework 3.5 SP1.

Hinweis  Dieser Inhalt wurde über das Update Windows verfügbar gemacht. Um den Inhalt zu erhalten, suchen sie Windows Aktualisieren nach den neuesten .NET Framework Updates. Wenn Ihr System über Windows Update vollständig auf dem neuesten Stand ist, müssen Sie keine weiteren Maßnahmen ergreifen.

Lösung

Informationen zum Download

Der Hotfix, der KB3154520 entspricht, wurde durch die neuesten Updates von .NET Framework ersetzt, die alle Fixes enthalten, die zuvor in KB3154520 enthalten waren. Es wird empfohlen, die neuesten Updates ihres .NET Framework.

In diesem Bereich wurden die folgenden Verbesserungen vorgenommen:

  • Für die folgenden Registrierungsschlüssel kann die Verwendung der Betriebssystemstandardwerte für SSL und TLS anstelle der hartcodierten Standardwerte von .NET Framework für eine auf dem Computer ausgeführte verwaltete Anwendung festgelegt werden.
     

    • Für 64-Bit-Betriebssysteme:[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-Bit-Betriebssysteme:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
      "SystemDefaultTlsVersions"=dword:00000001

    Hinweis Wenn für die Anwendung die Option ServicePointManager.SecureProtocol per Code oder mithilfe von Konfigurationsdateien auf einen bestimmten Wert festgelegt ist oder wenn die SslStream.AuthenticateAs*-APIs zum Angeben einer bestimmten SslProtocols-Enumeration verwendet werden, hat die Registrierungseinstellung keine Auswirkung.
     

  • Darüber hinaus wurde die SslProtocolsExtensions-Enumeration hinzugefügt, die Sie als Option zum Festlegen von TLS v1.2, TLS v1.1 sowie von Betriebssystemstandardwerten für die ServicePointManager.SecurityProtocol-Eigenschaft verwenden können, wenn Sie .NET Framework Version 2.0 SP2 ausführen. (Informationen zur Verwendung der Erweiterungen finden Sie im Abschnitt Entwicklerleitfade.)

    Hinweis Windows Vista SP2 und Windows Server 2008 SP2 keine TLS-Protokollversionen (Transport Layer Security) unterstützen, die neuer als 1.0 sind. Verwaltete .NET Framework 2.0 SP2-Anwendungen, die unter Windows Vista SP2 oder Windows Server 2008 SP2 ausgeführt werden, können TLS 1.2 oder TLS 1.1 nicht verwenden, auch wenn diese Protokolle in der ServicePointManager.SecurityProtocol-Eigenschaft festgelegt sind.


Wenn Sie weitere Informationen zum Herunterladen von Microsoft-Supportdateien erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzeigen zu können:

119591 Abrufen von Microsoft-Supportdateien von Onlinediensten Microsoft hat diese Datei auf Viren überprüft. Dazu wurde die neueste Software zur Virenerkennung verwendet, die zum Zeitpunkt der Bereitstellung verfügbar war. Die Datei befindet sich auf Servern mit verstärkter Sicherheit, wodurch nicht autorisierte Änderungen an der Datei weitestgehend verhindert werden.
 

Entwicklerleitfade

Die Definition der neuen Erweiterungen ist in den folgenden Dateien enthalten:
 

  • SecurityProtocolTypeExtensions.csnamespace System.Net
    {
    mithilfe von System.Security.Authentication;
    öffentliche statische Klasse 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
    {
    Öffentliche statische Klasse SslProtocolsExtensions
    {
    public const SslProtocols Tls12 = (SslProtocols)0x00000C00;
    public const SslProtocols Tls11 = (SslProtocols)0x00000300;
    }
    }

Um die Unterstützung für TLS v1.2 zu nutzen, schließen Sie die Quelldateien in Ihr Projekt ein, und legen Sie dann die Protokollversion mit den folgenden Methoden festgelegt:
 

  • Anwendungen, die ServicePointManager-basierte APIs verwenden, können das Protokoll wie folgt festlegen:

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

  • Anwendungen, die die SSLStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean)-Überladung verwenden, können den SslProtocols-Wert als SslProtocolsExtensions.Tls12 festlegen.

Wenn die im ersten Absatz erwähnte Registrierung festgelegt ist und in der Anwendung der SslProtocols-Wert auf SslProtocols.None festgelegt ist, wird das Standardverhalten des Systems ausgewählt, das von der Version des Windows-Betriebssystems abhängig ist.

Wenn Sie den Anwendungscode ändern, um die Unterstützung für TLS v1.2 mit .NET Framework 3.5 SP1 zu aktivieren, sollten Sie außerdem sicherstellen, dass Sie auf Computern, auf denen dieser Patch nicht bereitgestellt wird, die folgenden Ausnahmen behandeln:
 

  1. Wenn der Hotfix nicht installiert ist, wird von ServicePointManager-basierten APIs (HTTP, FTP, SMTP) der Fehler "System.NotSupportedException: Das angeforderte Sicherheitsprotokoll wird nicht unterstützt" ausgelöst, wenn die Anwendung ServicePointManager.SecurityProtocol aufruft, um den neuen Wert festlegen.

  2. Wenn der Hotfix nicht installiert ist, werden sslStream-basierte APIs beim Aufrufen einer der AuthenticateAs*-APIs ausgelöst:

    System.ArgumentException: Der angegebene Wert ist in der "SslProtocolType"-Enumeration ungültig.
    Parametername: sslProtocolType

Hinweis: Nur sslStream, eine Kombination von Tls12, Tls11 mit einem der vorhandenen Tls, Ssl3, Ssl2 (z. B.: Tls12 | Tls11 | Tls) wird ohne den Patch ohne den Patch automatisch auf die vorhandenen Protokolle (z. B. Tls) heruntergestuft. Es wird eine Verbindung mit Tls hergestellt, ohne dass die Ausnahme ausgelöst wird.
 

Weitere Informationen

Zum Aktivieren von TLS v1.1 oder v1.2 als Betriebssystem-Standardeinstellungen folgen Sie den Anweisungen unter https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.

Hinweis TLS v1.1 und v1.2 sind in Windows Vista oder Windows Server 2008 nicht verfügbar.

Wenn Sie die standardwerte des Betriebssystems deaktivieren müssen, die mit dem oben erwähnten Registrierungsschlüssel für bestimmte Anwendungen festgelegt wurden, können Sie den folgenden Registrierungsschlüssel hinzufügen:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<Vollständiger Pfad des .exe für die Datei>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0

Weitere Informationen zu TLS v1.2 finden Sie unter Einführung in TLS v1.2.

Nachdem Sie den Registrierungsschlüssel SystemDefaultTlsVersions .NET aktiviert haben, tritt für jede Version von Windows ein anderes Verhalten auf, wie in der folgenden Tabelle dargestellt.
 

Windows-Version

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 und Windows Server 2008 SP2

Aus

Ein

Ein

Ein

Ein

Ein

N/A

N/A

N/A

N/A

Windows 7 SP1 und Windows Server 2008 R2 SP1

Aus

Ein

Ein

Ein

Ein

Ein

Aus

Aus

Aus

Aus

Windows Server 2012

Aus

Aus

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Windows 8.1 und Windows Server 2012 R2

Aus

Aus

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Windows 10

Aus

Aus

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Windows 10 (1511)

Aus

Aus

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Ein

Windows 10 (1607) und Windows Server 2016

N/A

N/A

Aus

Aus

Ein

Ein

Ein

Ein

Ein

Ein

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×