Artikelverzeichnis
  1. 1. Lösung eins:
  2. 2. Lösung 2
    1. 2.1. Update-Patch
    2. 2.2. Standardwert festlegen
    3. 2.3. Verifizierungssystem
  3. 3. Lösung drei
  4. 4. Andere Referenzinhalte

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

Lösung eins:

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

  • 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 in 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 Dokumentationhttps://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

Standardwert festlegen

  • Aktivieren Sie TLS 1.1 und 1.2 unter Windows 7 auf der SChannel-Komponentenebene (übernehmen Sie eines der folgenden Updates 2.1 oder 2.2).

2.1. Microsoft installiert und aktualisiert die Registrierung:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.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).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[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

Verifizierungssystem

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

PowerShell öffnet sich:

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

Lösung drei

  • Keine der beiden vorherigen Methoden funktioniert. Sie können nur die ultimative Methode verwenden, um das System auf Windows 10 zu aktualisieren.

Andere Referenzinhalte

https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/

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ässigkeitsrollup 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.

Artikelverzeichnis
  1. 1. Lösung eins:
  2. 2. Lösung 2
    1. 2.1. Update-Patch
    2. 2.2. Standardwert festlegen
    3. 2.3. Verifizierungssystem
  3. 3. Lösung drei
  4. 4. Andere Referenzinhalte