Lýsing: Beiðni hætt: Mistókst að búa til SSL/TLS örugga rás. Gat ekki búið til SSL/TLS örugga rás. Byggja palla: Windows Server 2012, Windows 7 Service Pack 1 (SP1) og Windows Server 2008 R2 SP1
[þáttur] vefsíðu niðurhal Það er niðurhalsverkfæri fyrir alla síðuna. Sláðu inn slóðina til að hlaða niður með einum smelli.
Stilltu kóða fyrir HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Ef ofangreind aðferð virkar ekki er það vandamál á kerfisstigi. Uppfærðu kerfisplásturinn í samræmi við kerfið sem þú ert að nota.
Uppfærsla til að virkja TLS 1.1 og TLS 1.2 sem sjálfgefnar öryggissamskiptareglur í WinHTTP í Windows, þessi uppfærsla veitir stuðning fyrir Transport Layer Security (TLS) í Windows Server 2012, Windows 7 Service Pack 1 (SP1) og Windows Server 2008 R2 SP1 1.1 og TLS 1.2 stuðning, vinsamlegast skoðaðu opinberu skjölin https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Afritaðu eftirfarandi skrásetningarkóða og fluttu hann inn í skrárinn. Búðu til nýjan txt, breyttu viðskeytinu txt í reg (skrárlykill) og fluttu inn (gerðu öryggisafrit áður en þú flytur inn)
[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 opnast:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Fyrsta kóðalínan athugar studdu TLS útgáfuna. Önnur kóðalínan breytir TLS stuðningi.
Hvorug af fyrri tveimur aðferðum mun virka, svo þú getur aðeins notað fullkominn aðferð:
Athugið: Fyrir sérstakar TSL útgáfur sem studdar eru af hverri Windows útgáfu, vinsamlegast skoðið viðbótarupplýsingarnar í þessari grein.
Lausnir eru til, en þær eru háðar rammaútgáfunni:
.NET 4.6 og nýrri. Þú þarft ekki að gera neina viðbótarvinnu til að styðja TLS 1.2, það er sjálfgefið stutt.
.NET 4.5. TLS 1.2 er stutt, en það er ekki sjálfgefna samskiptareglan. Þú þarft að velja að nota það. Eftirfarandi kóði setur TLS 1.2 sem sjálfgefið, vertu viss um að keyra hann áður en þú tengist öruggri auðlind:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.NET 4.0. TLS 1.2 er ekki stutt, en ef .NET 4.5 (eða hærra) er uppsett á kerfinu þínu hefurðu samt möguleika á að nota TLS 1.2 jafnvel þó að umsóknarramminn þinn styður ekki TLS 1.2. Eina vandamálið er að SecurityProtocolType í .NET 4.0 hefur enga færslu fyrir TLS1.2, þannig að við verðum að nota tölulega framsetningu þessa enum gildi:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 eða lægri. TLS 1.2(*) er ekki stutt og engin lausn er til. Uppfærðu forritið þitt í nýjustu útgáfu rammans.
PS Fyrir atburðarás 3 er líka til skráningarhakk sem mun neyða 4.5 til að nota TLS 1.2 sjálfgefið án þess að þurfa að þvinga það forritunarlega. PPS Eins og Christian Pop frá Microsoft nefnir hér að neðan er nýjasta plásturinn fáanlegur fyrir .NET 3.5 sem gerir TLS1.2 stuðning kleift.
Sjá:
Kannski er lengd vottorðslykilsins sem vefsíðan veitir 512 bitar, og samkvæmt núverandi iðnaðarstöðlum ætti hún að innihalda opinberan lykil sem er ekki minna en 2048 bita. Öryggisuppfærsla Microsoft frá september 2016 svaraði þessu vandamáli með því að segja að ef lengd almenningslykilsins er minni en 2048 bæti (t.d. RSA 512),Windows getur hætt við HTTPS tengingar
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 sjálfgefið gildi: SecurityProtocolType.Tls |
SCH_USE_STRONG_CRYPTO Þetta flagg verður notað sjálfkrafa í .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Í Win7Sp1 og .Net 3.5.1 er TLS1.2 studd
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Loka ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 (SecurityProtocolType)0xc00;
Niðurstaða TLS1.2 er þessi:
Breyting á skráningu undir .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
Þessi grein er skrifuð afvefsíðu niðurhalSafnað og skipulagt, efnið kemur af netinu, vinsamlegast tilgreinið uppruna við endurprentun, takk fyrir.