Motive și soluții pentru „Solicitarea a fost anulată și nu a reușit să creeze un canal securizat SSL/TLS”
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
Soluția unu:
Setați codul înainte de HttpWebRequest
ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Soluția 2
- 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
patch de actualizare
Setați valoarea implicită
- Activați TLS 1.1 și 1.2 pe Windows 7 la nivel de componentă SChannel (adoptați una dintre actualizările 2.1 sau 2.2 de mai jos)
2.1 Microsoft instalează și actualizează registrul:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi
2.2 Actualizați manual registrul, 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)
1 | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] |
Sistem de verificare
- Verificați dacă sistemul acceptă TLS1.2, TLS1.3
PowerShell se deschide:
Net.ServicePointManager::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Soluția trei
- Niciuna dintre cele două metode anterioare nu va funcționa. Puteți utiliza numai metoda finală pentru a actualiza sistemul la Windows 10.
Alt conținut de referință
https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/
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ă, de asemenea, 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:
KB3154518 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – Reliability Rollup HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.