Опис: Барањето е прекинато: Не успеа да се создаде SSL/TLS безбеден канал. Не може да се создаде SSL/TLS безбеден канал. Изградба на платформи: Windows Server 2012, Windows 7 Service Pack 1 (SP1) и Windows Server 2008 R2 SP1
[епизода] преземање на веб-страница Тоа е алатка за преземање на целата локација. Внесете ја URL-то за преземање со еден клик.
Поставете го кодот пред HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Ако горенаведениот метод не работи, тоа е проблем на системско ниво Ажурирајте ја системската закрпа според системот што моментално го користите.
Ажурирајте за да ги овозможите TLS 1.1 и TLS 1.2 како стандардни безбедносни протоколи во WinHTTP во Windows, ова ажурирање обезбедува поддршка за безбедност на транспортниот слој (TLS) во Windows Server 2012, Windows 7 Service Pack 1 (SP1) и Windows Server 2008 R2 SP1 1.1 и поддршка за TLS 1.2, ве молиме погледнете ја официјалната документација https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Копирајте го следниот регистарски код и внесете го во регистарот. Направете нов txt, сменете ја наставката txt во reg (клуч за регистар) и увезете (направете резервна копија пред увоз)
[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 се отвора:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Првата линија на код ја проверува поддржаната верзија на TLS Втората линија код ја менува поддршката за TLS.
Ниту еден од претходните два методи нема да работи, така што можете да го користите само крајниот метод:
Забелешка: За специфични TSL верзии поддржани од секоја верзија на Windows, ве молиме погледнете ги дополнителните информации во оваа статија.
Решенија постојат, но тие зависат од верзијата на рамката:
.NET 4.6 и погоре. Не треба да правите дополнителна работа за поддршка на TLS 1.2, тој е поддржан стандардно.
.НЕТ 4.5. TLS 1.2 е поддржан, но не е стандардниот протокол. Треба да изберете да го користите. Следниот код го поставува TLS 1.2 како стандардно, погрижете се да го извршите пред да се поврзете со безбеден ресурс:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0. TLS 1.2 не е поддржан, но ако .NET 4.5 (или понова верзија) е инсталирана на вашиот систем, сè уште имате можност да користите TLS 1.2 дури и ако вашата рамка за апликација не поддржува TLS 1.2. Единствениот проблем е што SecurityProtocolType во .NET 4.0 нема запис за TLS1.2, така што мораме да го користиме нумеричкото претставување на оваа бројна вредност:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 или пониска. TLS 1.2(*) не е поддржан и нема решение. Надградете ја вашата апликација до најновата верзија на рамката.
П.С. За сценариото 3, постои и хакирање на регистарот што ќе го принуди 4.5 да користи TLS 1.2 стандардно без да мора да го присилува програмски. PPS Како што споменува подолу Christian Pop од Microsoft, достапна е најновата закрпа за .NET 3.5 која овозможува поддршка за TLS1.2.
Видете:
Можеби должината на клучот за сертификат обезбедена од веб-локацијата е 512 бита, а според сегашните индустриски стандарди, треба да содржи јавен клуч од не помалку од 2048 бита. Безбедносното ажурирање на Мајкрософт од септември 2016 година одговори на ова прашање со наведување дека ако должината на јавниот клуч е помала од 2048 бајти (на пр. RSA 512),Windows може да ги откаже HTTPS-врските
2012 R2 and Windows 8
2008 R2 and Windows 7
SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 стандардна вредност: SecurityProtocolType.Tls |
SCH_USE_STRONG_CRYPTO Ова знаме ќе се користи автоматски во .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Во Win7Sp1 и .Net 3.5.1, TLS1.2 е поддржан
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3 //Затвори ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 (SecurityProtocolType) и 1.d
Заклучокот на TLS1.2 е овој:
Модификација на регистарот под .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
Оваа статија е напишана одпреземање на веб-страницаСобрана и организирана, содржината доаѓа од Интернет, ве молиме наведете го изворот при препечатување, благодарам.
