Descriere: Solicitare anulată: Nu s-a putut crea canalul securizat SSL/TLS. Nu s-a putut crea un canal securizat SSL/TLS. Platforme de construcție: Windows Server 2012, Windows 7 Service Pack 1 (SP1) și Windows Server 2008 R2 SP1
[episod] descărcare site Este un instrument de descărcare pentru întreg site-ul. Introduceți adresa URL pentru a descărca cu un singur clic. Este simplu și ușor de utilizat și are sarcini multi-thread.
Setați codul înainte de HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Dacă metoda de mai sus nu funcționează, este o problemă la nivel de sistem. Actualizați corecția de sistem în funcție de sistemul pe care îl utilizați în prezent.
Actualizare pentru a activa TLS 1.1 și TLS 1.2 ca protocoale de securitate implicite în WinHTTP în Windows, această actualizare oferă suport pentru Transport Layer Security (TLS) în Windows Server 2012, Windows 7 Service Pack 1 (SP1) și Windows Server 2008 R2 SP1 1.1 și suport TLS 1.2, vă rugăm să consultați documentația oficială https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Copiați următorul cod de registry și importați-l în registry. Creați un nou txt, schimbați sufixul txt în reg (cheie de registry) și importați (faceți o copie de rezervă înainte de a importa)
[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 se deschide:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Prima linie de cod verifică versiunea TLS acceptată. A doua linie de cod modifică suportul TLS.
Niciuna dintre cele două metode anterioare nu va funcționa, așa că puteți utiliza doar metoda finală:
Notă: Pentru versiunile TSL specifice acceptate de fiecare versiune Windows, vă rugăm să consultați informațiile suplimentare din acest articol.
Soluții există, dar depind de versiunea cadrului:
.NET 4.6 și mai sus. Nu trebuie să faceți nicio muncă suplimentară pentru a suporta TLS 1.2, acesta este acceptat implicit.
.NET 4.5. TLS 1.2 este acceptat, dar nu este protocolul implicit. Trebuie să alegi să-l folosești. Următorul cod setează TLS 1.2 ca implicit, asigurați-vă că îl executați înainte de a vă conecta la o resursă securizată:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0. TLS 1.2 nu este acceptat, dar dacă .NET 4.5 (sau o versiune ulterioară) este instalat pe sistemul dvs., aveți în continuare opțiunea de a utiliza TLS 1.2 chiar dacă cadrul aplicației dvs. nu acceptă TLS 1.2. Singura problemă este că SecurityProtocolType în .NET 4.0 nu are nicio intrare pentru TLS1.2, așa că trebuie să folosim reprezentarea numerică a acestei valori enumerate:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 sau mai mic. TLS 1.2(*) nu este acceptat și nu există o soluție. Actualizați aplicația la cea mai recentă versiune a cadrului.
PS Pentru scenariul 3, există și un hack de registry care va forța 4.5 să folosească TLS 1.2 în mod implicit, fără a fi necesar să îl forțeze programatic. PPS După cum menționează Christian Pop de la Microsoft mai jos, există un ultim patch disponibil pentru .NET 3.5 care permite suportul TLS1.2.
Vedea:
Poate că lungimea cheii de certificat furnizată de site-ul web este de 512 biți și, conform standardelor actuale din industrie, ar trebui să conțină o cheie publică de nu mai puțin de 2048 de biți. Actualizarea de securitate Microsoft din septembrie 2016 a răspuns la această problemă declarând că, dacă lungimea cheii publice este mai mică de 2048 de octeți (de exemplu, RSA 512),Windows poate anula conexiunile HTTPS
2012 R2 and Windows 8
2008 R2 and Windows 7
SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
Valoare implicită .net 4.0/4.5: SecurityProtocolType.Tls |. SecurityProtocolType.Ssl3 .net 4.6/4.7: SecurityProtocolType.Tls11 |
SCH_USE_STRONG_CRYPTO Acest indicator va fi folosit automat în .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework În Win7Sp1 și .Net 3.5.1, TLS1.2 este acceptat
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3 //Închide ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 (SecurityProtocolType)0xc00 și 12.1;
Concluzia TLS1.2 este aceasta:
Modificarea registrului sub .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
Acest articol este scris dedescărcare siteColectat și organizat, conținutul provine de pe Internet, vă rugăm să indicați sursa la retipărire, mulțumesc.