Adresár článkov
  1. 1. Riešenie jedna:
  2. 2. Riešenie 2
    1. 2.1. záplata aktualizácie
    2. 2.2. Nastaviť predvolenú hodnotu
    3. 2.3. Overovací systém
  3. 3. Riešenie tri
  4. 4. Iný referenčný obsah

Popis: Požiadavka prerušená: Nepodarilo sa vytvoriť bezpečný kanál SSL/TLS. Nepodarilo sa vytvoriť zabezpečený kanál SSL/TLS.

Zostavovacie platformy: Windows Server 2012, Windows 7 Service Pack 1 (SP1) a Windows Server 2008 R2 SP1

Riešenie jedna:

Nastavte kód pred HttpWebRequest

ServicePointManager.Expect100Continue = true;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

Riešenie 2

  • Ak vyššie uvedená metóda nefunguje, ide o problém na úrovni systému Aktualizujte opravu systému podľa systému, ktorý práve používate.

Aktualizácia na povolenie TLS 1.1 a TLS 1.2 ako predvolených bezpečnostných protokolov vo WinHTTP v systéme Windows, táto aktualizácia poskytuje podporu pre Transport Layer Security (TLS) v systéme Windows Server 2012, Windows 7 Service Pack 1 (SP1) a Windows Server 2008 R2 SP1 1.1 a podporu TLS 1.2 nájdete v oficiálnej dokumentáciihttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

záplata aktualizácie

Nastaviť predvolenú hodnotu

  • Povoliť TLS 1.1 a 1.2 v systéme Windows 7 na úrovni komponentu SChannel (prijmite jednu z aktualizácií 2.1 alebo 2.2 nižšie)

2.1 Microsoft nainštaluje a aktualizuje register:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2 Manuálne aktualizujte register, skopírujte nasledujúci kód registra a importujte ho do registra. Vytvorte nový txt, zmeňte príponu txt na reg (kľúč databázy Registry) a importujte (pred importovaním vytvorte zálohu)

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

Overovací systém

  • Overte, či systém podporuje TLS1.2, TLS1.3

PowerShell sa otvorí:

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

Riešenie tri

  • Žiadna z predchádzajúcich dvoch metód nebude fungovať. Na inováciu systému na systém Windows 10 môžete použiť iba poslednú metódu.

Iný referenčný obsah

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

Riešenia existujú, ale závisia od verzie rámca:

.NET 4.6 a vyššie. Na podporu TLS 1.2 nemusíte robiť žiadnu ďalšiu prácu, je podporovaná predvolene.

.NET 4.5. TLS 1.2 je podporovaný, ale nie je to predvolený protokol. Musíte sa rozhodnúť ho použiť. Nasledujúci kód nastavuje TLS 1.2 ako predvolený, nezabudnite ho spustiť pred pripojením k zabezpečenému zdroju:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 nie je podporovaný, ale ak je vo vašom systéme nainštalovaný .NET 4.5 (alebo vyšší), stále máte možnosť použiť TLS 1.2, aj keď váš aplikačný rámec nepodporuje TLS 1.2. Jediným problémom je, že SecurityProtocolType v .NET 4.0 nemá žiadny záznam pre TLS1.2, takže musíme použiť číselnú reprezentáciu tejto hodnoty enum:
ServicePointManager.SecurityProtocol =(Typ bezpečnostného protokolu)3072;

.NET 3.5 alebo nižší. TLS 1.2(*) nie je podporovaný a neexistuje žiadne riešenie. Inovujte svoju aplikáciu na najnovšiu verziu rámca.

PS Pre scenár 3 existuje aj hack v registri, ktorý prinúti 4.5 štandardne používať TLS 1.2 bez toho, aby ho bolo potrebné vynútiť programovo.
PPS Ako ďalej spomína Christian Pop od Microsoftu, pre .NET 3.5 je k dispozícii najnovšia oprava, ktorá umožňuje podporu TLS1.2.
Pozri:
KB3154518 – Súhrnná spoľahlivosť HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – Súhrnná spoľahlivosť HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Adresár článkov
  1. 1. Riešenie jedna:
  2. 2. Riešenie 2
    1. 2.1. záplata aktualizácie
    2. 2.2. Nastaviť predvolenú hodnotu
    3. 2.3. Overovací systém
  3. 3. Riešenie tri
  4. 4. Iný referenčný obsah