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
[epizóda] stiahnutie webovej stránky Je to nástroj na sťahovanie celej lokality. Zadajte adresu URL na stiahnutie jedným kliknutím. Je jednoduchý a ľahko sa používa a má viacvláknové úlohy.
Nastavte kód pred HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
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ácii https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
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)
[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
[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
PowerShell sa otvorí:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Prvý riadok kódu kontroluje podporovanú verziu TLS. Druhý riadok kódu upravuje podporu TLS.
Žiadna z predchádzajúcich dvoch metód nebude fungovať, takže môžete použiť iba poslednú metódu:
Poznámka: Konkrétne verzie TSL podporované jednotlivými verziami systému Windows nájdete v doplňujúcich informáciách v tomto článku.
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:
Možno je dĺžka kľúča certifikátu poskytovaná webovou stránkou 512 bitov a podľa súčasných priemyselných noriem by mala obsahovať verejný kľúč s dĺžkou najmenej 2 048 bitov. Aktualizácia zabezpečenia od spoločnosti Microsoft zo septembra 2016 reagovala na tento problém vyhlásením, že ak je dĺžka verejného kľúča menšia ako 2048 bajtov (napr. RSA 512),Systém Windows môže zrušiť pripojenia HTTPS
2012 R2 and Windows 8
2008 R2 and Windows 7
SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
Predvolená hodnota .net 4.0/4.5: SecurityProtocolType.Tls |. SecurityProtocolType.Ssl3 .net 4.6/4.7 predvolená hodnota: SecurityProtocolType.Tls SecurityProtocolType.Tls12 |
SCH_USE_STRONG_CRYPTO Tento príznak sa automaticky použije v .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Vo Win7Sp1 a .Net 3.5.1 je podporovaný TLS1.2
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3 //Zavrieť ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 //Pridať podporu pre.2.1;
Záver TLS1.2 je takýto:
Úprava registra pod .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
Tento článok napísalstiahnutie webovej stránkyZozbierané a usporiadané, obsah pochádza z internetu, pri pretlači prosím uveďte zdroj, ďakujem.