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
[bölüm] web sitesi indirme Tüm siteyi kapsayan bir indirme aracıdır. Tek tıklamayla indirilecek URL'yi girin. Kullanımı basit ve kolaydır ve çok iş parçacıklı görevlere sahiptir.
Kodu HttpWebRequest'ten önce ayarlayın
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
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ın 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ğı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)
[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 ilk satırı desteklenen TLS sürümünü kontrol eder. İkinci kod satırı TLS desteğini değiştirir.
Önceki iki yöntemin hiçbiri işe yaramayacağından yalnızca nihai yöntemi kullanabilirsiniz:
Not: Her Windows sürümü tarafından desteklenen belirli TSL sürümleri için lütfen bu makaledeki ek bilgilere bakın.
Çö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:
Belki web sitesi tarafından sağlanan sertifika anahtarı uzunluğu 512 bittir ve mevcut endüstri standartlarına göre en az 2048 bitlik bir ortak anahtar içermelidir. Microsoft'un Eylül 2016 güvenlik güncelleştirmesi, ortak anahtar uzunluğunun 2048 bayttan az olması durumunda (örn. RSA 512), bu soruna yanıt verdi.Windows HTTPS bağlantılarını iptal edebilir
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 varsayılan değeri: SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 .net 4.6/4.7 varsayılan değeri: SecurityProtocolType.Tls11 |
SCH_USE_STRONG_CRYPTO Bu bayrak .NET Framework 4.6'da otomatik olarak kullanılacaktır. https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Win7Sp1 ve .Net 3.5.1'de TLS1.2 desteklenir
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Ssl3'ü kapatın ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 | (SecurityProtocolType)0xc00;
TLS1.2'nin sonucu şudur:
.net4 altında kayıt defteri değişikliği
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 makale şu kişi tarafından yazılmıştır:web sitesi indirmeToplanan ve düzenlenen içerik internetten gelmektedir, lütfen yeniden basarken kaynağı belirtin, teşekkür ederim.