Unterstützung für TLS Standard Versionen in das.NET Framework 3.5.1 für Windows 7 SP1 und Server 2008 R2 SP1 enthalten

Gilt für: .NET Framework 3.5.1Windows 7 Service Pack 1Windows Server 2008 R2 Service Pack 1

.NET Framework-Version 3.5.1 und früheren Versionen nicht Anwendung Transport Layer Security (TLS) Standard Versionen als kryptografischen Protokoll unterstützen. Dieses Update ermöglicht die Verwendung von TLS 1.2 in.NET Framework 3.5.1.
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 X86 Basis-Paket jetzt downloaden. Download X64 Basis-Paket jetzt downloaden. Download IA64-basierten-Paket jetzt downloaden. 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:
119591 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.cs
    namespace 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.cs
    namespace 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 https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.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 Einführung in TLS 1.2. 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-VersionSSL2-ClientSSL2-ServerSSL3-ClientSSL3-ServerTLS 1.0 ClientTLS 1.0 ServerTLS 1.1 ClientTLS 1.1 ServerTLS 1.2 ClientTLS 1.2 Server
Windows Vista SP2 und Windows Server 2008 SP2AusschaltenAufAufAufAufAufN/AN/AN/AN/A
Windows 7 SP1 und Windows Server 2008 R2 SP1AusschaltenAufAufAufAufAufAusschaltenAusschaltenAusschaltenAusschalten
Windows Server 2012AusschaltenAusschaltenAufAufAufAufAufAufAufAuf
Windows 8.1 und Windows Server 2012 R2 AusschaltenAusschaltenAufAufAufAufAufAufAufAuf
Windows 10AusschaltenAusschaltenAufAufAufAufAufAufAufAuf
Windows 10 (1511)AusschaltenAusschaltenAufAufAufAufAufAufAufAuf
Windows 10 (1607) und WindowsServer 2016N/AN/AAusschaltenAusschaltenAufAufAufAufAufAuf