Makale dizini
  1. 1. Birinci çözüm:
  2. 2. Çözüm 2
    1. 2.1. güncelleme yaması
    2. 2.2. Varsayılan değeri ayarla
    3. 2.3. Doğrulama sistemi
  3. 3. Üçüncü çözüm
  4. 4. Diğer referans içeriği

Açıklama: İstek iptal edildi: SSL/TLS güvenli kanalı oluşturulamadı. SSL/TLS güvenli kanalı oluşturulamadı.

Platformlar oluşturun: Windows Server 2012, Windows 7 Service Pack 1 (SP1) ve Windows Server 2008 R2 SP1

Birinci çözüm:

Kodu HttpWebRequest'ten önce ayarlayın

ServicePointManager.Expect100Continue = true;

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

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

Çözüm 2

  • Yukarıdaki yöntem işe yaramazsa sistem düzeyinde bir sorundur. Sistem yamasını kullandığınız sisteme göre güncelleyin.

Windows'ta WinHTTP'de varsayılan güvenlik protokolleri olarak TLS 1.1 ve TLS 1.2'yi etkinleştirmek için güncelleştirin; bu güncelleştirme, Windows Server 2012, Windows 7 Service Pack 1 (SP1) ve Windows Server 2008 R2 SP1 1.1'de Aktarım Katmanı Güvenliği (TLS) desteği sağlar ve TLS 1.2 desteği için lütfen resmi belgelere bakınhttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

güncelleme yaması

Varsayılan değeri ayarla

  • TLS 1.1 ve 1.2'yi Windows 7'de SChannel bileşen düzeyinde etkinleştirin (aşağıdaki 2.1 veya 2.2 güncellemelerinden birini benimseyin)

2.1 Microsoft kayıt defterini yükler ve günceller:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2 Kayıt defterini manuel olarak güncelleyin, aşağıdaki kayıt defteri kodunu kopyalayın ve kayıt defterine aktarın. Yeni bir txt oluşturun, txt son ekini reg (kayıt defteri anahtarı) olarak değiştirin ve içe aktarın (içe aktarmadan önce yedekleme yapın)

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

Doğrulama sistemi

  • Sistemin TLS1.2, TLS1.3'ü destekleyip desteklemediğini doğrulayın

PowerShell açılır:

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

Üçüncü çözüm

  • Önceki iki yöntemin hiçbiri işe yaramayacaktır. Sistemi Windows 10'a yükseltmek için yalnızca nihai yöntemi kullanabilirsiniz.

Diğer referans içeriği

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

Çözümler mevcuttur ancak bunlar çerçeve sürümüne bağlıdır:

.NET 4.6 ve üzeri. TLS 1.2'yi desteklemek için herhangi bir ek çalışma yapmanıza gerek yoktur, varsayılan olarak desteklenmektedir.

.NET 4.5. TLS 1.2 desteklenir ancak varsayılan protokol değildir. Kullanmayı seçmeniz gerekiyor. Aşağıdaki kod, TLS 1.2'yi varsayılan olarak ayarlar; güvenli bir kaynağa bağlanmadan önce bu kodu çalıştırdığınızdan emin olun:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET4.0. TLS 1.2 desteklenmez ancak sisteminizde .NET 4.5 (veya üstü) yüklüyse, uygulama çerçeveniz TLS 1.2'yi desteklemese bile yine de TLS 1.2 kullanma seçeneğiniz vardır. Tek sorun, .NET 4.0'daki SecurityProtocolType'ın TLS1.2 için girişi olmamasıdır, dolayısıyla bu enum değerinin sayısal temsilini kullanmak zorundayız:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 veya daha düşük. TLS 1.2(*) desteklenmez ve geçici bir çözüm yoktur. Uygulamanızı çerçevenin en son sürümüne yükseltin.

Not: Senaryo 3 için, program aracılığıyla zorlamaya gerek kalmadan 4.5'i varsayılan olarak TLS 1.2 kullanmaya zorlayacak bir kayıt defteri saldırısı da vardır.
PPS Microsoft'tan Christian Pop'un aşağıda belirttiği gibi, .NET 3.5 için TLS1.2 desteği sağlayan en son yama mevcuttur.
Görmek:
KB3154518 – Güvenilirlik Toplaması HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – Güvenilirlik Toplaması HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – Güvenilirlik Toplaması HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Makale dizini
  1. 1. Birinci çözüm:
  2. 2. Çözüm 2
    1. 2.1. güncelleme yaması
    2. 2.2. Varsayılan değeri ayarla
    3. 2.3. Doğrulama sistemi
  3. 3. Üçüncü çözüm
  4. 4. Diğer referans içeriği