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
[epizod] saytı yükləmək Bu, bir kliklə yükləmək üçün URL-i daxil edin və çox yivli tapşırıqlara malikdir.
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;
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 edin https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Aşağıdakı qeyd kodunu kopyalayı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)
[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 açılır:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Kodun birinci sətri dəstəklənən TLS versiyasını yoxlayır. İkinci sətir TLS dəstəyini dəyişdirir.
Əvvəlki iki üsuldan heç biri işləməyəcək, ona görə də yalnız son metoddan istifadə edə bilərsiniz:
Qeyd: Hər bir Windows versiyası tərəfindən dəstəklənən xüsusi TSL versiyaları üçün bu məqalədəki əlavə məlumatlara müraciət edin.
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:
Ola bilsin ki, vebsayt tərəfindən təqdim edilən sertifikat açarının uzunluğu 512 bitdir və mövcud sənaye standartlarına görə, o, 2048 bitdən az olmayan açıq açarı ehtiva etməlidir. Microsoft-un 2016-cı ilin Sentyabr təhlükəsizlik yeniləməsi bu problemə cavab verdi ki, əgər açıq açarın uzunluğu 2048 baytdan azdırsa (məsələn, RSA 512),Windows HTTPS bağlantılarını ləğv edə bilər
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 standart dəyər: SecurityProtocolType.Ssl3 .net 4.6/4.7 defolt dəyər: SecurityProtocolType.Tls12 |
SCH_USE_STRONG_CRYPTO Bu bayraq avtomatik olaraq .NET Framework 4.6-da istifadə olunacaq https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Win7Sp1 və .Net 3.5.1-də TLS1.2 dəstəklənir
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Close ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 (SecurityProtocolType) //1.1 üçün dəstək
TLS1.2-nin nəticəsi belədir:
.net4 altında reyestr dəyişikliyi
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
Bu məqalə tərəfindən yazılmışdırsaytı yükləməkToplanmış və təşkil edilmişdir, məzmun İnternetdən gəlir, təkrar çap edərkən mənbəni göstərin, təşəkkür edirəm.