TitelseiteSoftware-TutorialGründe und Lösungen für „Anfrage abgebrochen: Fehler beim Erstellen des sicheren SSL/TLS-Kanals“
Gründe und Lösungen für „Anfrage abgebrochen: Fehler beim Erstellen des sicheren SSL/TLS-Kanals“

Beschreibung: Anfrage abgebrochen: Fehler beim Erstellen des sicheren SSL/TLS-Kanals. Der sichere SSL/TLS-Kanal konnte nicht erstellt werden. Build-Plattformen: Windows Server 2012, Windows 7 Service Pack 1 (SP1) und Windows Server 2008 R2 SP1

[Folge] Website herunterladen Es handelt sich um ein Download-Tool für die gesamte Website. Geben Sie die URL zum Herunterladen mit einem Klick ein. Es ist einfach und benutzerfreundlich und verfügt über Multithread-Aufgaben.

Lösung 1: Codeebene

Legen Sie den Code vor HttpWebRequest fest

ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

Lösung 2: Systemebene

Wenn die obige Methode nicht funktioniert, handelt es sich um ein Problem auf Systemebene. Aktualisieren Sie den Systempatch entsprechend dem System, das Sie derzeit verwenden.

Update zur Aktivierung von TLS 1.1 und TLS 1.2 als Standardsicherheitsprotokolle in WinHTTP unter Windows. Dieses Update bietet Unterstützung für Transport Layer Security (TLS) in Windows Server 2012, Windows 7 Service Pack 1 (SP1) und Windows Server 2008 R2 SP1 1.1 und TLS 1.2-Unterstützung finden Sie in der offiziellen Dokumentation https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

Update-Patch KB3140245

Aktivieren Sie TLS 1.1 und 1.2 unter Windows 7 auf der SChannel-Komponentenebene (mit einem der folgenden Updates).

Methode 1: Verwenden Sie das Microsoft Update-Installationspaket, um MicrosoftEasyFix51044.msi zu aktualisieren
Methode 2: Aktualisieren Sie die Registrierung manuell

Kopieren Sie den folgenden Registrierungscode und importieren Sie ihn in die Registrierung. Erstellen Sie eine neue TXT-Datei, ändern Sie das Suffix „txt“ in „reg“ (Registrierungsschlüssel) und importieren Sie es (erstellen Sie vor dem Importieren eine Sicherungskopie).

WIN7 64
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80
Windows Server
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001

Überprüfen Sie, ob das System TLS1.2, TLS1.3 unterstützt

PowerShell öffnet sich:

[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

Die erste Codezeile prüft die unterstützte TLS-Version. Die zweite Codezeile ändert die TLS-Unterstützung.

Lösung 3: Aktualisieren Sie das System

Keine der beiden vorherigen Methoden funktioniert, daher können Sie nur die ultimative Methode verwenden:

  • Aktualisieren Sie das System auf Windows 10 und Windows Server 2019 (unterstützt TLS1.2);
  • Aktualisieren Sie das System auf Windows 11 und Windows Server 2022 (unterstützt TLS1.3).

Hinweis: Informationen zu bestimmten TSL-Versionen, die von jeder Windows-Version unterstützt werden, finden Sie in den ergänzenden Informationen in diesem Artikel.


Andere Referenzinhalte

Andere Referenzinhalte eins

Es gibt Lösungen, die jedoch von der Framework-Version abhängen:

.NET 4.6 und höher. Für die Unterstützung von TLS 1.2 müssen Sie keine zusätzlichen Arbeiten ausführen, es wird standardmäßig unterstützt.

.NET 4.5. TLS 1.2 wird unterstützt, ist jedoch nicht das Standardprotokoll. Sie müssen sich dafür entscheiden, es zu verwenden. Der folgende Code legt TLS 1.2 als Standard fest. Stellen Sie sicher, dass Sie ihn ausführen, bevor Sie eine Verbindung zu einer sicheren Ressource herstellen:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 wird nicht unterstützt, aber wenn .NET 4.5 (oder höher) auf Ihrem System installiert ist, haben Sie immer noch die Möglichkeit, TLS 1.2 zu verwenden, auch wenn Ihr Anwendungsframework TLS 1.2 nicht unterstützt. Das einzige Problem besteht darin, dass SecurityProtocolType in .NET 4.0 keinen Eintrag für TLS1.2 hat, daher müssen wir die numerische Darstellung dieses Enum-Werts verwenden:

ServicePointManager.SecurityProtocol = (Sicherheitsprotokolltyp) 3072;

.NET 3.5 oder niedriger. TLS 1.2(*) wird nicht unterstützt und es gibt keine Problemumgehung. Aktualisieren Sie Ihre Anwendung auf die neueste Version des Frameworks.

PS: Für Szenario 3 gibt es auch einen Registry-Hack, der 4.5 dazu zwingt, TLS 1.2 standardmäßig zu verwenden, ohne dass dies programmgesteuert erzwungen werden muss. PPS Wie Christian Pop von Microsoft unten erwähnt, ist für .NET 3.5 ein aktueller Patch verfügbar, der TLS1.2-Unterstützung ermöglicht.

Sehen:

  • KB3154518 – Zuverlässigkeits-Rollup HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
  • KB3154519 – Zuverlässigkeits-Rollup HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
  • KB3154520 – Zuverlässigkeits-Rollup HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
  • KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Sonstige Referenzinhalte 2

Möglicherweise beträgt die Länge des von der Website bereitgestellten Zertifikatsschlüssels 512 Bit und gemäß aktuellen Industriestandards sollte er einen öffentlichen Schlüssel von mindestens 2048 Bit enthalten. Das Sicherheitsupdate von Microsoft vom September 2016 reagierte auf dieses Problem mit der Aussage, dass, wenn die Länge des öffentlichen Schlüssels weniger als 2048 Byte beträgt (z. B. RSA 512),Windows kann HTTPS-Verbindungen abbrechen

Die installierten Updates sind

2012 R2 and Windows 8

  • KB3185331
  • KB3188743
  • KB3174644

2008 R2 and Windows 7

  • KB3185278
  • KB3185330
  • KB3192391
  • KB3175024
  • KB3172605

Andere Referenzinhalte drei

SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 Standardwert: SecurityProtocolType.Tls |. SecurityProtocolType.Tls12

https://support.microsoft.com/en-us/help/3069494/cannot-connect-to-a-server-by-using-the-servicepointmanager-or-sslstre

SCH_USE_STRONG_CRYPTO Dieses Flag wird automatisch in .NET Framework 4.6 verwendet https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework In Win7Sp1 und .Net 3.5.1 wird TLS1.2 unterstützt

ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //SecurityProtocol schließen |= (SecurityProtocolType)0xc00; //Unterstützung für 1.1 und 1.2 hinzufügen

Die Schlussfolgerung von TLS1.2 lautet:

  • Für die Installation von .Net3.5.1 ist ein Patch und das anschließende Hinzufügen der TLS1.2-Enumeration erforderlich
  • Die Installation von .Net 4.0 erfordert eine Änderung der Registrierung und das anschließende Hinzufügen der TLS1.2-Enumeration
  • Nach der Installation von .Net4.5 müssen Sie auch die TLS1.2-Enumeration hinzufügen
  • Nach der Installation von .Net4.6.1 wird TLS1.2 standardmäßig unterstützt.

Registry-Änderung unter .net4

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

zusätzliche Materialien

Dieser Artikel wurde geschrieben vonWebsite herunterladenDer gesammelte und geordnete Inhalt stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an, vielen Dank.

Softwareanwendung: Download von Frontend-Vorlagen; SEO-Optimierung; Hinweis: Diese Software ist kein Hackerprogramm und kann keine Hintergrunddaten herunterladen!
Haftungsausschluss: Der Dienst dient dem persönlichen Studium, der Forschung oder Wertschätzung sowie anderen nichtkommerziellen oder gemeinnützigen Zwecken, sollte aber gleichzeitig den Bestimmungen des Urheberrechts und anderen relevanten Gesetzen entsprechen und darf nicht gegen diese verstoßen Die mit der Nutzung der Tools auf dieser Website verbundenen Risiken haben nichts mit dieser Software zu tun.
Copyright © 2019–2024 Rabbit Software. Alle Rechte vorbehalten Guangdong ICP Nr. 19111427-2
Informationen zum Tutorial Benutzerhandbuch Website-Themen