Artikkelkatalog
  1. 1. Løsning én:
  2. 2. Løsning 2
    1. 2.1. oppdater patch
    2. 2.2. Angi standardverdi
    3. 2.3. Verifikasjonssystem
  3. 3. Løsning tre
  4. 4. Annet referanseinnhold

Beskrivelse: Forespørsel avbrutt: Kunne ikke opprette SSL/TLS sikker kanal. Kunne ikke opprette SSL/TLS sikker kanal.

Bygg plattformer: Windows Server 2012, Windows 7 Service Pack 1 (SP1) og Windows Server 2008 R2 SP1

Løsning én:

Angi kode før HttpWebRequest

ServicePointManager.Expect100Continue = true;

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

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

Løsning 2

  • Hvis metoden ovenfor ikke fungerer, er det et problem på systemnivå. Oppdater systemoppdateringen i henhold til systemet du bruker.

Oppdater for å aktivere TLS 1.1 og TLS 1.2 som standard sikkerhetsprotokoller i WinHTTP i Windows, denne oppdateringen gir støtte for Transport Layer Security (TLS) i Windows Server 2012, Windows 7 Service Pack 1 (SP1) og Windows Server 2008 R2 SP1 1.1 og TLS 1.2-støtte, se den offisielle dokumentasjonenhttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

oppdater patch

Angi standardverdi

  • Aktiver TLS 1.1 og 1.2 på Windows 7 på SChannel-komponentnivå (vedta en av 2.1- eller 2.2-oppdateringene nedenfor)

2.1 Microsoft installerer og oppdaterer registret:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2. Oppdater registret manuelt, kopier følgende registerkode og importer det inn i registret. Opprett en ny txt, endre suffikset txt til reg (registernøkkel), og importer (lag en sikkerhetskopi før import)

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

Verifikasjonssystem

  • Kontroller om systemet støtter TLS1.2, TLS1.3

PowerShell åpner:

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

Løsning tre

  • Ingen av de to foregående metodene vil fungere. Du kan bare bruke den ultimate metoden for å oppgradere systemet til Windows 10.

Annet referanseinnhold

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

Det finnes løsninger, men de avhenger av rammeversjonen:

.NET 4.6 og nyere. Du trenger ikke gjøre noe ekstra arbeid for å støtte TLS 1.2, det støttes som standard.

.NET 4.5. TLS 1.2 støttes, men det er ikke standardprotokollen. Du må velge å bruke den. Følgende kode setter TLS 1.2 som standard, sørg for å kjøre den før du kobler til en sikker ressurs:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 støttes ikke, men hvis .NET 4.5 (eller høyere) er installert på systemet ditt, har du fortsatt muligheten til å bruke TLS 1.2 selv om applikasjonsrammeverket ditt ikke støtter TLS 1.2. Det eneste problemet er at SecurityProtocolType i .NET 4.0 ikke har noen oppføring for TLS1.2, så vi må bruke den numeriske representasjonen av denne enum-verdien:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 eller lavere. TLS 1.2(*) støttes ikke, og det er ingen løsning. Oppgrader applikasjonen din til den nyeste versjonen av rammeverket.

PS For scenario 3 er det også et registerhack som vil tvinge 4.5 til å bruke TLS 1.2 som standard uten å måtte tvinge det programmatisk.
PPS Som Microsofts Christian Pop nevner nedenfor, er det en siste oppdatering tilgjengelig for .NET 3.5 som muliggjør TLS1.2-støtte.
Se:
KB3154518 – Pålitelighetssammendrag HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – Pålitelighetssammendrag HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – Pålitelighetssammendrag HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Artikkelkatalog
  1. 1. Løsning én:
  2. 2. Løsning 2
    1. 2.1. oppdater patch
    2. 2.2. Angi standardverdi
    3. 2.3. Verifikasjonssystem
  3. 3. Løsning tre
  4. 4. Annet referanseinnhold