Unterstützung für TLS Standard Versionen enthalten in.NET Framework 3.5 für Windows Server 2012

In .NET Framework 3.5 und früheren Versionen wurde für Anwendungen die Verwendung von TLS-Systemstandardversionen (SystemDefaultTlsVersions) als Kryptografieprotokoll nicht unterstützt. Mit diesem Update wird die Verwendung von TLS v1.2 in .NET Framework 3.5 ermöglicht.

Hinweis diesen Inhalt bereitgestellt auf Windows Update. Um den Inhalt zu erhalten, Scannen Sie Windows Update nach den neuesten Updates für.NET Framework. Ist Ihr System regelmäßig über Windows Update müssen Sie keine weiteren Maßnahmen.

Lösung

Informationen zum Download

Die folgenden Dateien stehen zum Download aus dem Microsoft Download Center:Download Download Wir haben die folgende Verbesserung in diesem Bereich:

  • 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 Die Anwendung setzt die ServicePointManager.SecureProtocol in Code oder durch Konfigurationsdateien auf einen bestimmten Wert oder SslStream.AuthenticateAs* APIs an bestimmten SslProtocols Enumeration der Einstellung in der Registrierung Verhalten tritt nicht auf.

  • Darüber hinaus haben wir die SslProtocolsExtensions -Enumeration hinzugefügt, mit denen Sie optional für TLS 1.2, TLS 1.1 sowie Betriebssystem Standardwerte für die ServicePointManager.SecurityProtocol -Eigenschaft festlegen, wenn .NET Framework-Version 2.0 SP2. (Siehe Abschnitt Hinweise für Entwickler Informationen zur Verwendung der Erweiterung.) Hinweis Windows Vista SP2 und Windows Server 2008 SP2 unterstützen Transport Layer Security (TLS)-Protokoll-Versionen neuer als 1.0. Verwaltete.NET Framework 2.0 SP2 Programme unter Windows Vista SP2 oder Windows Server 2008 SP2 können nicht TLS 1.2 oder TLS 1.1 verwenden, auch wenn diese Protokolle in der ServicePointManager.SecurityProtocol -Eigenschaft festgelegt werden.

Weitere Informationen zum Herunterladen von Microsoft Support-Dateien finden Sie im folgenden Artikel der Microsoft Knowledge Base:

So erhalten Sie Microsoft Support-Dateien im Internet 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.

Entwickler-Leitfaden

Die neue Erweiterung werden in den folgenden Dateien:

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

Um die Unterstützung für TLS 1.2, enthalten Sie die Quelldateien im Projekt, und legen Sie die Protokollversion mithilfe der folgenden Methoden:

  • Anträge, die ServicePointManager-basierte APIs verwenden lassen das Protokoll mithilfe der following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Programme, die das SslStream AuthenticateAsClient (String, X509CertificateCollection, SslProtocols, Boolean) Überladung können SslProtocols SslProtocolsExtensions. einstellenTls12.

Wenn der in Absatz 1 genannten Registrierungswert festgelegt ist und der Wert SslProtocols wird in der Anwendung als SslProtocols.Nonefestgelegt, hängt System-Standardverhalten, das gewählt wird die Windows-Version. Auch beim Ändern des Anwendungscode zum Aktivieren der Unterstützung für TLS 1.2 mit.NET Framework 3.5 SP1 sollten Sie sicherstellen, dass die folgenden Ausnahmen auf Computern Adresse auf dem dieses Patch nicht bereitgestellt wird:

  1. Wenn der Hotfix nicht installiert ist, ServicePointManager-Basis APIs (HTTP, FTP, SMTP) löst "System.NotSupportedException: das angeforderte Sicherheitsprotokoll wird nicht unterstützt" bei den Aufruf ServicePointManager.SecurityProtocol den neuen Wert festgelegt.

  2. Wenn der Hotfix nicht installiert ist, SslStream-Basis APIs lösen Ausnahmen aus, wenn sie entweder die AuthenticateAs *-APIs aufrufen:

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

Hinweis Für SslStream nur aus Tls12, Tls11 mit einem vorhandenen TlsSsl3Ssl2 (Beispiel: Tls12 | Tls11 | TLS) wird automatisch die vorhandenen Protokolle heruntergestuft (Beispiel: Tls) auf einem System ohne Patch. Es wird Tls herstellen, ohne die Ausnahme.

Weitere Informationen

Um TLS 1.1 oder 1.2 Betriebssystem standardmäßig zu aktivieren, gehen Sie auf .Hinweis TLS 1.1 und 1.2 sind nicht verfügbar in Windows Vista oder Windows Server 2008.If müssen Sie das Betriebssystem standardmäßig deaktivieren, die durch den Registrierungsschlüssel, der im Abschnitt "Lösung" für bestimmte Applikationen erwähnt wird dazu hinzufügen festgelegt werden die Registrierungsschlüssel: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

Weitere Informationen zu TLS 1.2 finden Sie unter . Nach dem Aktivieren des Registrierungsschlüssels SystemDefaultTlsVersions .NET tritt eines anderen Verhaltens für jede Version von Windows, 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

Ausschalten

Auf

Auf

Auf

Auf

Auf

N/A

N/A

N/A

N/A

Windows 7 SP1 und Windows Server 2008 R2 SP1

Ausschalten

Auf

Auf

Auf

Auf

Auf

Ausschalten

Ausschalten

Ausschalten

Ausschalten

Windows Server 2012

Ausschalten

Ausschalten

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Windows 8.1 und Windows Server 2012 R2

Ausschalten

Ausschalten

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Windows 10

Ausschalten

Ausschalten

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Windows 10 (1511)

Ausschalten

Ausschalten

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Auf

Windows 10 (1607) und WindowsServer 2016

N/A

N/A

Ausschalten

Ausschalten

Auf

Auf

Auf

Auf

Auf

Auf

Benötigen Sie weitere Hilfe?

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

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×