Artikkelihakemisto
  1. 1. Ratkaisu yksi:
  2. 2. Ratkaisu 2
    1. 2.1. päivitä korjaustiedosto
    2. 2.2. Aseta oletusarvo
    3. 2.3. Varmistusjärjestelmä
  3. 3. Ratkaisu kolme
  4. 4. Muu viitesisältö

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

Ratkaisu yksi:

Aseta koodi ennen HttpWebRequestiä

ServicePointManager.Expect100Continue = true;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

Ratkaisu 2

  • 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 dokumentaatiohttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

päivitä korjaustiedosto

Aseta oletusarvo

  • Ota TLS 1.1 ja 1.2 käyttöön Windows 7:ssä SChannel-komponenttitasolla (ota käyttöön jokin alla olevista 2.1- tai 2.2-päivityksistä)

2.1 Microsoft asentaa ja päivittää rekisterin:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2 Päivitä rekisteri manuaalisesti, kopioi seuraava rekisterikoodi ja tuo se rekisteriin. Luo uusi txt, muuta pääte txt muotoon reg (rekisteriavain) ja tuo (tee varmuuskopio ennen tuontia)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[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

Varmistusjärjestelmä

  • Tarkista, tukeeko järjestelmä TLS1.2, TLS1.3

PowerShell avautuu:

Net.ServicePointManager::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

Ratkaisu kolme

  • Kumpikaan edellisistä kahdesta menetelmästä ei toimi. Voit käyttää vain parasta menetelmää päivittääksesi järjestelmän Windows 10:een.

Muu viitesisältö

https://blogs.perficient.com/2016/04/28/tsl-1-2-and-net-support/

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:
KB3154518 – Luotettavuuskokoelma HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – Luotettavuuskokoelma HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – Luotettavuuskokoelma HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Artikkelihakemisto
  1. 1. Ratkaisu yksi:
  2. 2. Ratkaisu 2
    1. 2.1. päivitä korjaustiedosto
    2. 2.2. Aseta oletusarvo
    3. 2.3. Varmistusjärjestelmä
  3. 3. Ratkaisu kolme
  4. 4. Muu viitesisältö