So aktivieren Sie TLS 1.2 auf Windows-Systemen

So aktivieren Sie TLS 1.2 unter Windows für mehr Sicherheit

Die Sache mit TLS 1.2 kann manchmal ganz schön nervig sein. Besonders bei älteren Windows-Versionen oder wenn man die Sicherheit der Kommunikation zwischen Anwendungen und Server gewährleisten will, ist es nicht immer einfach. Die meisten modernen Windows-Versionen (wie Windows 10, 11, Server 2016/2019/2022) werden standardmäßig mit aktiviertem TLS 1.2 ausgeliefert, was gut ist. Bei älteren Versionen wie Windows 7 oder Server 2008 ist jedoch etwas mehr Aufwand nötig: Updates installieren, Registry-Einstellungen anpassen und neu starten. Bei manchen Konfigurationen macht Windows das Ganze unnötig kompliziert, vor allem wenn man Anwendungen wie Outlook oder PowerShell absichern will, die auf diesen Protokollen basieren. Dieser Leitfaden erklärt Ihnen, was Sie tun müssen, inklusive Registry-Anpassungen und PowerShell-Befehlen, um TLS 1.2 vollständig zu aktivieren und fehlerfrei zum Laufen zu bringen.

So beheben Sie Probleme mit der TLS 1.2-Unterstützung unter Windows 7 und Server 2008 R2

Stellen Sie sicher, dass Windows auf dem neuesten Stand ist und installieren Sie die erforderlichen Updates.

  • Überprüfen Sie zunächst, ob Service Pack 1 auf Ihrem Windows 7 installiert ist. Dies können Sie unter Systemsteuerung > System und Sicherheit > System überprüfen.
  • Laden Sie anschließend das Update KB3140245 aus dem Microsoft Update-Katalog herunter. Es handelt sich um einen wichtigen Patch, der vor der Aktivierung von TLS 1.2 auf diesen älteren Betriebssystemen benötigt wird.
  • Nach der Installation laden Sie die Datei MicrosoftEasyFix51044.msi herunter. Diese fügt Registry-Einträge hinzu, die die TLS-1.2-Unterstützung für Windows 7/2008R2/2012 aktivieren. Manchmal reichen diese Updates allein nicht aus, um TLS 1.2 in allen Anwendungen vollständig zu aktivieren – daher die unten beschriebenen Registry-Änderungen.
  • Sobald alles installiert ist, starten Sie Ihren Computer neu. Ja, ein Neustart ist notwendig, damit alle Änderungen in der Registrierung wirksam werden.

Bei manchen Systemen funktioniert das Update nicht immer beim ersten Versuch, oder Sie müssen die Registry-Anpassungen manuell vornehmen. Wenn Sie jedoch Fehler wie Verbindungsprobleme mit Outlook oder SSL-Fehler in Ihren Browsern feststellen, beheben diese Schritte das Problem in der Regel.

Manuelle Aktivierung von TLS 1.2 über Registry-Änderungen

Das ist im Grunde der Kernpunkt – die Registry so zu bearbeiten, dass Windows standardmäßig TLS 1.2 verwendet. Das ist wichtig, weil Anwendungen und Systemkomponenten wie WinHTTP auf diese Einstellungen angewiesen sind, um sichere Verbindungen auszuhandeln.

  • Öffnen Sie den Registrierungseditor durch Drücken der Win + Rentsprechenden Taste und geben Sie Folgendes ein regedit:
  • Navigieren Sie zu HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\
  • Erstellen Sie zwei neue Schlüssel, falls diese noch nicht existieren: Client und Server.
  • Fügen Sie in beiden Fällen diese DWORD-Werte (32 Bit) hinzu:
    • Standardmäßig deaktiviert = 0
    • Aktiviert = 1

Dies weist Windows an, TLS 1.2 sowohl als Standard (Client-Seite) als auch für Serververbindungen zuzulassen.

Um WinHTTP-Anwendungen (wie PowerShell oder einige ältere Browser) explizit zur Verwendung von TLS 1.2 zu veranlassen, müssen Sie in der Registrierung unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp einen DWORD-Wert namens DefaultSecureProtocols mit dem Wert „false“ hinzufügen. Auf einem 64-Bit-System wiederholen Sie diesen Vorgang zusätzlich unter HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp.0x00000A00

Die verschiedenen Werte für DefaultSecureProtocols sind etwas verwirrend, aber hier sind sie in Ordnung:

  • 0x00000A0– erlaubt nur SSL 3.0 und TLS 1.0 (nicht das, was Sie wollen)
  • 0x0000AA0– Ermöglicht TLS 1.1 und 1.2 zusätzlich zu SSL 3.0 und TLS 1.0
  • 0x00000A00– erlaubt nur TLS 1.1 und 1.2
  • 0x00000800– Nur TLS 1.2; das ist es, was Sie jetzt brauchen.

PowerShell-Skript zur Automatisierung der Registry-Änderungen

Denn manuelle Registry-Änderungen können natürlich mühsam und fehleranfällig sein. Jemand hat ein PowerShell-Skript erstellt, das alle benötigten Einträge generiert:

$reg32bWinHttp = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" $reg64bWinHttp = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp" $regWinHttpDefault = "DefaultSecureProtocols" $regWinHttpValue = "0x00000800" $regTLS12Client = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" $regTLS12Server = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" $regTLSDefault = "DisabledByDefault" $regTLSValue = "0x00000000" $regTLSEnabled = "Enabled" $regTLSEnableValue = "0x00000001" # Create registry keys and set values New-ItemProperty -Path $reg32bWinHttp -Name $regWinHttpDefault -Value $regWinHttpValue -PropertyType DWORD New-ItemProperty -Path $reg64bWinHttp -Name $regWinHttpDefault -Value $regWinHttpValue -PropertyType DWORD New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" -Force New-Item -Path $regTLS12Client -Force New-Item -Path $regTLS12Server -Force New-ItemProperty -Path $regTLS12Client -Name $regTLSDefault -Value $regTLSValue -PropertyType DWORD New-ItemProperty -Path $regTLS12Client -Name $regTLSEnabled -Value $regTLSEnableValue -PropertyType DWORD New-ItemProperty -Path $regTLS12Server -Name $regTLSDefault -Value $regTLSValue -PropertyType DWORD New-ItemProperty -Path $regTLS12Server -Name $regTLSEnabled -Value $regTLSEnableValue -PropertyType DWORD 

Führen Sie diesen Befehl in einem PowerShell-Fenster mit Administratorrechten aus – anschließend ist ein Neustart erforderlich. Dadurch wird TLS 1.2 für die meisten Anwendungen aktiviert, die auf WinHTTP basieren.

Aktivieren von TLS 1.2 für. NET-Anwendungen

Ja, die Aktivierung der Registry unter Windows allein reicht nicht aus. Viele Anwendungen (wie PowerShell oder Outlook) basieren auf dem. NET Framework – sie benötigen ebenfalls Registry-Anpassungen, um TLS 1.2 zu verwenden. Für ältere. NET-Versionen (wie 2.0 oder 3.5) sollten Sie folgende Werte festlegen:

[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 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001 

Für neuere. NET-Versionen (wie 4.x) gehen Sie genauso vor:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001 

Für. NET 4.6 oder höher muss außerdem der Registrierungseintrag „SchUseStrongCrypto“ auf 1 gesetzt sein. Dadurch kann PowerShell fehlerfrei Verbindungen zu Repositories wie PSGallery herstellen, da diese nun ausschließlich TLS 1.2+ akzeptieren.

Ohne diese Anpassungen kann die Verbindung zu manchen sicheren Diensten sehr merkwürdig werden und Fehler wie „Download von URI nicht möglich“ oder „Paketquelle konnte nicht aufgelöst werden“ in PowerShell verursachen. Denn PowerShell hat standardmäßig lange Zeit TLS 1.0 verwendet.

Verwendung eines GUI-Tools: IISCrypto

Falls Ihnen die Bearbeitung der Registry zu aufwendig erscheint, gibt es das kostenlose Tool IISCrypto. Es bietet eine einfache Benutzeroberfläche zum Aktivieren oder Deaktivieren von TLS-Versionen und zum Anpassen der Schannel-Einstellungen. Aktivieren oder deaktivieren Sie einfach die gewünschten Protokolle und klicken Sie auf „Anwenden“.Hinweis: Die Einstellungen für. NET oder WinHTTP werden nicht spezifisch angepasst, daher müssen Sie die Registry-Änderungen für diese Protokolle möglicherweise weiterhin manuell vornehmen.

Zusammenfassung

Die Einrichtung von TLS 1.2 unter Windows – insbesondere unter älteren Versionen – kann etwas knifflig sein. Mit den richtigen Updates, Registry-Anpassungen und eventuell einem kurzen Skript ist es aber meist machbar. Der Aufwand lohnt sich, vor allem, wenn Sie die Sicherheit und Kompatibilität Ihrer Anwendungen und Server mit modernen Protokollen gewährleisten möchten. Beachten Sie, dass nach Änderungen an den Registry-Einstellungen in der Regel ein Neustart erforderlich ist. Bei manchen Anwendungen, wie beispielsweise PowerShell, bewirkt die Anpassung der Registry-Optionen, dass diese TLS 1.2 unterstützen und somit lästige Verbindungsfehler vermieden werden.

Zusammenfassung

  • Stellen Sie sicher, dass Ihre Windows-Version auf dem neuesten Stand ist, insbesondere KB3140245 für ältere Betriebssysteme.
  • Aktivieren Sie TLS 1.2 manuell über Registrierungsschlüssel in Schannel.
  • Legen Sie für WinHTTP-Anwendungen die Standard-Sicherheitsprotokolle so fest, dass TLS 1.2 erzwungen wird.
  • Verwenden Sie bei Bedarf PowerShell-Skripte zur Automatisierung.
  • Konfigurieren Sie. NET Framework für die Verwendung von TLS 1.2 durch Bearbeiten von Registrierungseinträgen.
  • Optional: Verwenden Sie IISCrypto für einen GUI-basierten Ansatz

Ich drücke die Daumen, dass es hilft.