„Užklausa buvo nutraukta ir 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“
Pirmas sprendimas:
Nustatykite kodą prieš HttpWebRequest
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
2 sprendimas
- 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
atnaujinti pataisą
Nustatykite numatytąją vertę
- Įgalinkite TLS 1.1 ir 1.2 sistemoje Windows 7 SChannel komponento lygiu (priimkite vieną iš 2.1 arba 2.2 naujinimų toliau)
2.1. „Microsoft“ įdiegia ir atnaujina registrą:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi
2.2 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ą)
1 | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] |
Tikrinimo sistema
- Patikrinkite, ar sistema palaiko TLS1.2, TLS1.3
„PowerShell“ atidaromas:
Net.ServicePointManager::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Trečias sprendimas
- Nė vienas iš ankstesnių metodų neveiks. Galite naudoti tik galutinį metodą, kad atnaujintumėte sistemą į „Windows 10“.
Kitas informacinis turinys
https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/
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, bet 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.