Põhjused ja lahendused küsimusele "Taotlus katkestati ja SSL/TLS turvalist kanalit ei saanud luua"
Kirjeldus: taotlus katkestati: SSL/TLS turvalise kanali loomine ebaõnnestus. SSL/TLS turvalist kanalit ei saanud luua.
Ehitamise platvormid: Windows Server 2012, Windows 7 Service Pack 1 (SP1) ja Windows Server 2008 R2 SP1
Lahendus üks:
Määrake kood enne HttpWebRequesti
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Lahendus 2
- Kui ülaltoodud meetod ei tööta, on tegemist süsteemitaseme probleemiga. Värskendage süsteemi paika vastavalt praegu kasutatavale süsteemile.
Värskendus, et lubada TLS 1.1 ja TLS 1.2 Windowsi WinHTTP vaiketurbeprotokollidena. See värskendus toetab transpordikihi turbe (TLS) Windows Server 2012, Windows 7 Service Pack 1 (SP1) ja Windows Server 2008 R2 SP1 1.1 puhul. ja TLS 1.2 tugi, vaadake ametlikku dokumentatsioonihttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
värskenda plaastrit
Määra vaikeväärtus
- Lubage TLS 1.1 ja 1.2 operatsioonisüsteemis Windows 7 SChanneli komponendi tasemel (võtke vastu üks allpool toodud 2.1 või 2.2 värskendustest)
2.1 Microsoft installib ja värskendab registrit.http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi
2.2 Värskendage registrit käsitsi, kopeerige järgmine registrikood ja importige see registrisse. Looge uus txt, muutke järelliide txt väärtuseks reg (registrivõti) ja importige (enne importimist tehke varukoopia)
1 | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] |
Kontrollisüsteem
- Kontrollige, kas süsteem toetab TLS1.2, TLS1.3
PowerShell avaneb:
Net.ServicePointManager::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Lahendus kolm
- Kumbki kahest eelmisest meetodist ei tööta. Süsteemi Windows 10 versioonile uuendamiseks saate kasutada ainult ülimat meetodit.
Muu viite sisu
https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/
Lahendused on olemas, kuid need sõltuvad raamistiku versioonist:
.NET 4.6 ja uuemad. TLS 1.2 toetamiseks ei pea te lisatööd tegema, see on vaikimisi toetatud.
.NET 4.5. TLS 1.2 on toetatud, kuid see ei ole vaikeprotokoll. Peate valima selle kasutamise. Järgmine kood määrab TLS 1.2 vaikeväärtuseks. Enne turvalise ressursiga ühenduse loomist veenduge, et see käivitataks:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0. TLS 1.2 ei toetata, kuid kui teie süsteemi on installitud .NET 4.5 (või uuem), on teil siiski võimalus kasutada TLS 1.2, isegi kui teie rakendusraamistik ei toeta TLS 1.2. Ainus probleem on see, et .NET 4.0-s SecurityProtocolType ei sisalda TLS1.2 jaoks kirjet, seega peame kasutama selle loendi väärtuse numbrilist esitust:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 või vanem. TLS 1.2(*) ei toetata ja sellele pole lahendust. Täiendage oma rakendus raamistiku uusimale versioonile.
PS 3. stsenaariumi puhul on olemas ka registri häkkimine, mis sunnib 4.5 vaikimisi kasutama TLS 1.2, ilma et peaks seda programmiliselt sundima.
PPS Nagu Microsofti Christian Pop allpool mainib, on .NET 3.5 jaoks saadaval uusim plaaster, mis võimaldab TLS1.2 tuge.
Vaata:
KB3154518 – töökindluse koondpakett HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – töökindluse koondpakett HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – töökindluse koondpakett HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.