Titulinis lapasPrograminės įrangos pamoka„Užklausa nutraukta: nepavyko sukurti saugaus SSL/TLS kanalo“ priežastys ir sprendimai
„Užklausa nutraukta: nepavyko sukurti saugaus SSL/TLS kanalo“ priežastys ir sprendimai

Aprašymas: užklausa nutraukta: nepavyko sukurti saugaus SSL/TLS kanalo. Nepavyko sukurti saugaus SSL/TLS kanalo. Sukurkite platformas: „Windows Server 2012“, „Windows 7“ 1 pakeitimų paketą (SP1) ir „Windows Server 2008 R2 SP1“

[epizodas] svetainės atsisiuntimas Tai yra visos svetainės atsisiuntimo įrankis, kurį norite atsisiųsti vienu spustelėjimu.

1 sprendimas: kodo lygis

Nustatykite kodą prieš HttpWebRequest

ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

2 sprendimas: sistemos lygis

Jei aukščiau pateiktas metodas neveikia, tai yra sistemos lygio problema. Atnaujinkite sistemos pataisą pagal šiuo metu naudojamą sistemą.

Atnaujinkite, kad įgalintumėte TLS 1.1 ir TLS 1.2 kaip numatytuosius saugos protokolus WinHTTP sistemoje Windows, šis naujinimas palaiko transporto sluoksnio saugą (TLS) sistemoje Windows Server 2012, Windows 7 Service Pack 1 (SP1) ir Windows Server 2008 R2 SP1 1.1. ir TLS 1.2 palaikymą, žr. oficialią dokumentaciją https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

Atnaujinkite pataisą KB3140245

Įgalinkite TLS 1.1 ir 1.2 sistemoje Windows 7 SChannel komponento lygiu (su bet kuriuo toliau pateiktu atnaujinimu)

1 būdas: naudokite „Microsoft“ naujinimo diegimo paketą, kad atnaujintumėte MicrosoftEasyFix51044.msi
2 būdas: rankiniu būdu atnaujinkite registrą

Nukopijuokite šį registro kodą ir importuokite jį į registrą. Sukurkite naują teksto failą, pakeiskite galūnę txt į reg (registro raktas) ir importuokite (prieš importuodami pasidarykite atsarginę kopiją)

WIN7 64
[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
Windows Server
[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

Patikrinkite, ar sistema palaiko TLS1.2, TLS1.3

„PowerShell“ atidaromas:

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

Pirmoji kodo eilutė tikrina palaikomą TLS versiją. Antroji kodo eilutė modifikuoja TLS palaikymą.

3 sprendimas: atnaujinkite sistemą

Nė vienas iš dviejų ankstesnių metodų neveiks, todėl galite naudoti tik galutinį metodą:

  • Atnaujinkite sistemą į Windows 10 ir Windows Server 2019 (palaiko TLS1.2);
  • Atnaujinkite sistemą į Windows 11 ir Windows Server 2022 (palaiko TLS1.3).

Pastaba: apie konkrečias TSL versijas, kurias palaiko kiekviena Windows versija, žr. papildomą informaciją šiame straipsnyje.


Kitas informacinis turinys

Kitas informacinis turinys vienas

Sprendimų yra, tačiau jie priklauso nuo sistemos versijos:

.NET 4.6 ir naujesnės versijos. Jums nereikia atlikti jokių papildomų darbų, kad palaikytumėte TLS 1.2, ji palaikoma pagal numatytuosius nustatymus.

.NET 4.5. TLS 1.2 palaikomas, tačiau tai nėra numatytasis protokolas. Turite pasirinkti, ar jį naudoti. Šis kodas nustato TLS 1.2 kaip numatytąjį, būtinai jį paleiskite prieš prisijungdami prie saugaus šaltinio:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 nepalaikomas, bet jei jūsų sistemoje įdiegta .NET 4.5 (arba naujesnė), vis tiek turite galimybę naudoti TLS 1.2, net jei jūsų taikomosios programos nepalaiko TLS 1.2. Vienintelė problema yra ta, kad „SecurityProtocolType“ .NET 4.0 neturi TLS1.2 įrašo, todėl turime naudoti skaitinį šios eilės reikšmės atvaizdavimą:

ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 arba senesnė versija. TLS 1.2(*) nepalaikomas ir nėra jokio sprendimo. Atnaujinkite savo programą į naujausią sistemos versiją.

PS 3 scenarijuje taip pat yra įsilaužimas į registrą, kuris privers 4.5 naudoti TLS 1.2 pagal numatytuosius nustatymus, nereikės jo priverstinai programiškai. PPS Kaip toliau mini Microsoft Christian Pop, yra naujausia .NET 3.5 pataisa, kuri įgalina TLS1.2 palaikymą.

Matyti:

  • KB3154518 – HR-1605 patikimumo rinkinys – NDP 2.0 SP2 – Win7 SP1 / Win 2008 R2 SP1
  • KB3154519 – HR-1605 patikimumo rinkinys – NDP 2.0 SP2 – Win8 RTM / Win 2012 RTM
  • KB3154520 – HR-1605 patikimumo rinkinys – NDP 2.0 SP2 – Win8.1RTM / Win 2012 R2 RTM
  • KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Kitas informacinis turinys 2

Galbūt svetainėje pateikiamas sertifikato rakto ilgis yra 512 bitų, o pagal dabartinius pramonės standartus jame turėtų būti ne mažesnis nei 2048 bitų viešasis raktas. „Microsoft“ 2016 m. rugsėjo mėn. saugos naujinimas atsakė į šią problemą, nurodydamas, kad jei viešojo rakto ilgis yra mažesnis nei 2048 baitai (pvz., RSA 512),„Windows“ gali atšaukti HTTPS ryšius

Įdiegti naujinimai yra

2012 R2 and Windows 8

  • KB3185331
  • KB3188743
  • KB3174644

2008 R2 and Windows 7

  • KB3185278
  • KB3185330
  • KB3192391
  • KB3175024
  • KB3172605

Kitas nuorodos turinys trys

SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 numatytoji reikšmė: SecurityProtocolType.Ssl3 .net 4.6/4.7: SecurityProtocolType.Tls11 |

https://support.microsoft.com/en-us/help/3069494/cannot-connect-to-a-server-by-using-the-servicepointmanager-or-sslstre

SCH_USE_STRONG_CRYPTO Ši žyma bus automatiškai naudojama .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework „Win7Sp1“ ir „.Net 3.5.1“ palaikomas TLS1.2

ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Close ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 (SecurityProtocolType)0xc00 ir .2.1;

TLS1.2 išvada yra tokia:

  • Norint įdiegti .Net3.5.1 reikia pataisos ir tada pridėti TLS1.2 sąrašą
  • Norint įdiegti .Net 4.0 reikia modifikuoti registrą ir pridėti TLS1.2 sąrašą
  • Įdiegę .Net4.5, taip pat turite pridėti TLS1.2 sąrašą
  • Įdiegus .Net4.6.1, TLS1.2 palaikomas pagal numatytuosius nustatymus.

Registro pakeitimas .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

papildomos medžiagos

Šį straipsnį parašėsvetainės atsisiuntimasSurinkta ir sutvarkyta, turinys ateina iš interneto, perspausdinant prašome nurodyti šaltinį, ačiū.

Programinė įranga: front-end šablonų kūrimas ir projektavimas neprisijungus prie interneto; Pastaba: ši programinė įranga nėra įsilaužėlių programa ir negali atsisiųsti foninių duomenų!
Atsakomybės apribojimas: paslauga skirta asmeniniam mokymuisi, tyrinėjimui ar vertinimui, taip pat kitais nekomerciniais ar ne pelno tikslais, tačiau tuo pat metu ji turi atitikti autorių teisių įstatymo ir kitų atitinkamų įstatymų nuostatas ir neturi pažeisti šios svetainės ir susijusių teisių turėtojų teisės. Rizika, susijusi su šios svetainės įrankių naudojimu, neturi nieko bendra su šia programine įranga.
Autorių teisės © 2019-2024 Rabbit Software Visos teisės saugomos Guangdong ICP Nr. 19111427-2
Pamokos informacija Vartotojo vadovas Svetainės temos