Məqalə kataloqu
  1. 1. Birinci həll:
  2. 2. Həll 2
    1. 2.1. yeniləmə yaması
    2. 2.2. Standart dəyəri təyin edin
    3. 2.3. Doğrulama sistemi
  3. 3. Həll üçüncü
  4. 4. Digər istinad məzmunu

Təsvir: Sorğu dayandırıldı: SSL/TLS təhlükəsiz kanalı yaratmaq alınmadı. SSL/TLS təhlükəsiz kanalı yaratmaq mümkün olmadı.

Platformalar qurun: Windows Server 2012, Windows 7 Service Pack 1 (SP1) və Windows Server 2008 R2 SP1

Birinci həll:

HttpWebRequest-dən əvvəl kodu təyin edin

ServicePointManager.Expect100Continue = true;

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

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

Həll 2

  • Yuxarıdakı üsul işləmirsə, bu, sistem səviyyəsində problemdir, hazırda istifadə etdiyiniz sistemə uyğun olaraq sistem yamasını yeniləyin.

Windows-da WinHTTP-də defolt təhlükəsizlik protokolları kimi TLS 1.1 və TLS 1.2-ni aktivləşdirmək üçün yeniləmə, bu yeniləmə Windows Server 2012, Windows 7 Service Pack 1 (SP1) və Windows Server 2008 R2 SP1 1.1-də Nəqliyyat Layeri Təhlükəsizliyi (TLS) üçün dəstək verir. və TLS 1.2 dəstəyi üçün rəsmi sənədlərə müraciət edinhttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

yeniləmə yaması

Standart dəyəri təyin edin

  • SChannel komponenti səviyyəsində Windows 7-də TLS 1.1 və 1.2-ni aktivləşdirin (aşağıdakı 2.1 və ya 2.2 yeniləmələrindən birini qəbul edin)

2.1 Microsoft reyestri quraşdırır və yeniləyir:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2 Reyestrini əl ilə yeniləyin, aşağıdakı reyestr kodunu köçürün və reyestrə idxal edin. Yeni txt yaradın, txt şəkilçisini reg (registr açarı) ilə dəyişin və idxal edin (import etmədən əvvəl ehtiyat nüsxəsini çıxarı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-ü dəstəklədiyini yoxlayın

PowerShell açılır:

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

Həll üçüncü

  • Əvvəlki iki üsuldan heç biri işləməyəcək, sistemi Windows 10-a yüksəltmək üçün yalnız son üsuldan istifadə edə bilərsiniz.

Digər istinad məzmunu

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

Həllər mövcuddur, lakin onlar çərçivə versiyasından asılıdır:

.NET 4.6 və yuxarı. TLS 1.2-ni dəstəkləmək üçün heç bir əlavə iş görməyinizə ehtiyac yoxdur, o, standart olaraq dəstəklənir.

.NET 4.5. TLS 1.2 dəstəklənir, lakin bu standart protokol deyil. Onu istifadə etmək üçün seçim etməlisiniz. Aşağıdakı kod TLS 1.2-ni defolt olaraq təyin edir, təhlükəsiz mənbəyə qoşulmazdan əvvəl onu yerinə yetirdiyinizə əmin olun:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 dəstəklənmir, lakin sisteminizdə .NET 4.5 (və ya daha yüksək) quraşdırılıbsa, tətbiq çərçivəniz TLS 1.2-ni dəstəkləməsə belə, hələ də TLS 1.2-dən istifadə etmək seçiminiz var. Yeganə problem odur ki, .NET 4.0-da SecurityProtocolType-də TLS1.2 üçün giriş yoxdur, ona görə də biz bu enum dəyərinin rəqəmli təsvirindən istifadə etməliyik:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 və ya daha aşağı. TLS 1.2(*) dəstəklənmir və heç bir həll yolu yoxdur. Tətbiqinizi çərçivənin ən son versiyasına təkmilləşdirin.

PS. Ssenari 3 üçün, 4.5-i proqramlı şəkildə məcbur etmədən defolt olaraq TLS 1.2-dən istifadə etməyə məcbur edəcək reyestr sındırması da var.
PPS Microsoft-un Christian Pop-un aşağıda qeyd etdiyi kimi, TLS1.2 dəstəyini təmin edən .NET 3.5 üçün ən son yamaq mövcuddur.
Görmək:
KB3154518 – Etibarlılıq Qrupu HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – Etibarlılıq yığımı HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – Etibarlılıq yığımı HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Məqalə kataloqu
  1. 1. Birinci həll:
  2. 2. Həll 2
    1. 2.1. yeniləmə yaması
    2. 2.2. Standart dəyəri təyin edin
    3. 2.3. Doğrulama sistemi
  3. 3. Həll üçüncü
  4. 4. Digər istinad məzmunu