Paglalarawan: Na-abort ang kahilingan: Nabigong gumawa ng secure na channel ng SSL/TLS. Hindi makagawa ng SSL/TLS secure na channel. Bumuo ng mga platform: Windows Server 2012, Windows 7 Service Pack 1 (SP1), at Windows Server 2008 R2 SP1
[episode] pag-download ng website Ito ay isang buong site na tool sa pag-download. Ipasok ang URL upang i-download sa isang pag-click.
Itakda ang code bago ang HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Kung ang paraan sa itaas ay hindi gumana, ito ay isang problema sa antas ng system I-update ang system patch ayon sa system na iyong kasalukuyang ginagamit.
I-update para paganahin ang TLS 1.1 at TLS 1.2 bilang default na mga protocol ng seguridad sa WinHTTP sa Windows, nagbibigay ang update na ito ng suporta para sa Transport Layer Security (TLS) sa Windows Server 2012, Windows 7 Service Pack 1 (SP1), at Windows Server 2008 R2 SP1 1.1 at suporta sa TLS 1.2, mangyaring sumangguni sa opisyal na dokumentasyon https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Kopyahin ang sumusunod na registry code at i-import ito sa registry. Gumawa ng bagong txt, palitan ang suffix txt sa reg (registry key), at mag-import (gumawa ng backup bago mag-import)
[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
Magbubukas ang PowerShell:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Sinusuri ng unang linya ng code ang sinusuportahang bersyon ng TLS. Binabago ng pangalawang linya ng code ang suporta sa TLS.
Wala alinman sa nakaraang dalawang pamamaraan ang gagana, kaya maaari mo lamang gamitin ang pinakahuling pamamaraan:
Tandaan: Para sa mga partikular na bersyon ng TSL na sinusuportahan ng bawat bersyon ng Windows, mangyaring sumangguni sa karagdagang impormasyon sa artikulong ito.
May mga solusyon, ngunit nakasalalay ang mga ito sa bersyon ng balangkas:
.NET 4.6 at mas mataas. Hindi mo kailangang gumawa ng anumang karagdagang gawain upang suportahan ang TLS 1.2, ito ay sinusuportahan bilang default.
.NET 4.5. Ang TLS 1.2 ay suportado, ngunit hindi ito ang default na protocol. Kailangan mong piliin na gamitin ito. Itinakda ng sumusunod na code ang TLS 1.2 bilang default, siguraduhing isagawa ito bago kumonekta sa isang secure na mapagkukunan:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0. Hindi sinusuportahan ang TLS 1.2, ngunit kung naka-install ang .NET 4.5 (o mas mataas) sa iyong system, may opsyon ka pa ring gumamit ng TLS 1.2 kahit na hindi sinusuportahan ng iyong application framework ang TLS 1.2. Ang tanging problema ay ang SecurityProtocolType sa .NET 4.0 ay walang entry para sa TLS1.2, kaya kailangan nating gamitin ang numeric na representasyon ng enum value na ito:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 o mas mababa. Ang TLS 1.2(*) ay hindi suportado at walang solusyon. I-upgrade ang iyong application sa pinakabagong bersyon ng framework.
PS Para sa scenario 3, mayroon ding registry hack na pipilitin ang 4.5 na gamitin ang TLS 1.2 bilang default nang hindi kinakailangang pilitin ito gamit ang programmatically. PPS Gaya ng binanggit sa ibaba ng Christian Pop ng Microsoft, mayroong pinakabagong patch na magagamit para sa .NET 3.5 na nagbibigay-daan sa suporta sa TLS1.2.
Tingnan:
Marahil ang haba ng certificate key na ibinigay ng website ay 512 bits, at ayon sa kasalukuyang mga pamantayan ng industriya, dapat itong maglaman ng pampublikong key na hindi bababa sa 2048 bits. Ang pag-update ng seguridad ng Setyembre 2016 ng Microsoft ay tumugon sa isyung ito sa pamamagitan ng pagsasabi na kung ang haba ng pampublikong key ay mas mababa sa 2048 byte (hal. RSA 512),Maaaring kanselahin ng Windows ang mga koneksyon sa 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 default na halaga: SecurityProtocolType.Tls |
SCH_USE_STRONG_CRYPTO Awtomatikong gagamitin ang flag na ito sa .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Sa Win7Sp1 at .Net 3.5.1, sinusuportahan ang TLS1.2
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Isara ang ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 | (SecurityProtocolType)0xc00 at 1.2;
Ang konklusyon ng TLS1.2 ay ito:
Pagbabago sa rehistro sa ilalim ng .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
Ang artikulong ito ay isinulat nipag-download ng websiteNakolekta at inayos, ang nilalaman ay nagmula sa Internet, mangyaring ipahiwatig ang pinagmulan kapag muling nag-print, salamat.