Kuvaus: Pyyntö keskeytetty: SSL/TLS-suojatun kanavan luominen epäonnistui. Suojattua SSL/TLS-kanavaa ei voitu luoda. Rakenna alustat: Windows Server 2012, Windows 7 Service Pack 1 (SP1) ja Windows Server 2008 R2 SP1
[jakso] verkkosivuston lataus Se on koko sivuston lataustyökalu Anna ladattava URL yhdellä napsautuksella. Se on yksinkertainen ja helppokäyttöinen, ja siinä on useita säikeitä.
Aseta koodi ennen HttpWebRequestiä
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Jos yllä oleva menetelmä ei toimi, se on järjestelmätason ongelma. Päivitä järjestelmäkorjaus tällä hetkellä käyttämäsi järjestelmän mukaan.
Päivitys ottaa TLS 1.1 ja TLS 1.2 käyttöön Windowsin WinHTTP:n oletussuojausprotokollana. Tämä päivitys tukee Transport Layer Security (TLS) -suojausta Windows Server 2012:ssa, Windows 7 Service Pack 1:ssä (SP1) ja Windows Server 2008 R2 SP1 1.1:ssä. ja TLS 1.2 -tuki, katso virallinen dokumentaatio https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Kopioi seuraava rekisterikoodi ja tuo se rekisteriin. Luo uusi txt, muuta pääte txt muotoon reg (rekisteriavain) ja tuo (tee varmuuskopio ennen tuontia)
[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 avautuu:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Ensimmäinen koodirivi tarkistaa tuetun TLS-version. Toinen koodirivi muuttaa TLS-tukea.
Kumpikaan edellisistä kahdesta menetelmästä ei toimi, joten voit käyttää vain parasta menetelmää:
Huomautus: Lisätietoja kunkin Windows-version tukemista TSL-versioista on tämän artikkelin lisätiedoissa.
Ratkaisuja on olemassa, mutta ne riippuvat kehysversiosta:
.NET 4.6 ja uudemmat. Sinun ei tarvitse tehdä mitään ylimääräistä työtä tukeaksesi TLS 1.2:ta, se on oletuksena tuettu.
.NET 4.5. TLS 1.2 on tuettu, mutta se ei ole oletusprotokolla. Sinun on valittava sen käyttö. Seuraava koodi asettaa TLS 1.2:n oletusarvoksi. Muista suorittaa se ennen yhteyden muodostamista suojattuun resurssiin:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0. TLS 1.2:ta ei tueta, mutta jos järjestelmääsi on asennettu .NET 4.5 (tai uudempi), voit silti käyttää TLS 1.2:ta, vaikka sovelluskehys ei tuekaan TLS 1.2:ta. Ainoa ongelma on, että .NET 4.0:n SecurityProtocolType ei sisällä TLS1.2:ta, joten meidän on käytettävä tämän enum-arvon numeerista esitystä:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 tai vanhempi. TLS 1.2(*) ei ole tuettu, eikä siihen ole ratkaisua. Päivitä sovelluksesi kehyksen uusimpaan versioon.
PS Skenaariossa 3 on myös rekisterihakkerointi, joka pakottaa 4.5:n käyttämään TLS 1.2:ta oletuksena ilman, että sitä tarvitsee pakottaa ohjelmallisesti. PPS Kuten Microsoftin Christian Pop mainitsee alla, .NET 3.5:lle on saatavilla uusin korjaustiedosto, joka mahdollistaa TLS1.2-tuen.
Katso:
Ehkä verkkosivuston tarjoama varmenneavaimen pituus on 512 bittiä, ja nykyisten alan standardien mukaan sen tulisi sisältää vähintään 2048 bitin julkinen avain. Microsoftin syyskuun 2016 tietoturvapäivitys vastasi tähän ongelmaan toteamalla, että jos julkisen avaimen pituus on alle 2048 tavua (esim. RSA 512),Windows voi peruuttaa HTTPS-yhteydet
2012 R2 and Windows 8
2008 R2 and Windows 7
SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
.net 4.0/4.5 -oletusarvo: SecurityProtocolType.Ssl3 .net 4.6/4.7 -oletusarvo: SecurityProtocolType.Tls11 |
SCH_USE_STRONG_CRYPTO Tätä lippua käytetään automaattisesti .NET Framework 4.6:ssa https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Win7Sp1:ssä ja .Net 3.5.1:ssä TLS1.2 on tuettu
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Sulje ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 (SecurityProtocolType)0xc00 ja .2.1;
TLS1.2:n johtopäätös on tämä:
Rekisterin muutos .net4:ssä
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
Tämän artikkelin on kirjoittanutverkkosivuston latausKerätty ja järjestetty, sisältö tulee Internetistä, ilmoita lähde uusintapainoksessa, kiitos.