Perihalan: Permintaan dibatalkan: Gagal membuat saluran selamat SSL/TLS. Tidak dapat membuat saluran selamat SSL/TLS. Bina platform: Windows Server 2012, Windows 7 Service Pack 1 (SP1) dan Windows Server 2008 R2 SP1
[episod] muat turun laman web Ia adalah alat muat turun seluruh tapak Masukkan URL untuk dimuat turun dengan satu klik Ia mudah dan mudah digunakan dan mempunyai tugasan berbilang benang.
Tetapkan kod sebelum HttpWebRequest
ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
Jika kaedah di atas tidak berfungsi, ia adalah masalah peringkat sistem Kemas kini patch sistem mengikut sistem yang anda sedang gunakan.
Kemas kini untuk mendayakan TLS 1.1 dan TLS 1.2 sebagai protokol keselamatan lalai dalam WinHTTP dalam Windows, kemas kini ini menyediakan sokongan untuk Transport Layer Security (TLS) dalam Windows Server 2012, Windows 7 Service Pack 1 (SP1) dan Windows Server 2008 R2 SP1 1.1 dan sokongan TLS 1.2, sila rujuk dokumentasi rasmi https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi
Salin kod pendaftaran berikut dan importnya ke dalam pendaftaran. Cipta txt baharu, tukar txt akhiran kepada reg (kunci pendaftaran) dan import (buat sandaran sebelum mengimport)
[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 dibuka:
[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12
Baris pertama kod menyemak versi TLS yang disokong Baris kedua kod mengubah suai sokongan TLS.
Kedua-dua kaedah sebelumnya tidak akan berfungsi, jadi anda hanya boleh menggunakan kaedah muktamad:
Nota: Untuk versi TSL tertentu yang disokong oleh setiap versi Windows, sila rujuk maklumat tambahan dalam artikel ini.
Penyelesaian wujud, tetapi ia bergantung pada versi rangka kerja:
.BERSIH 4.6 dan ke atas. Anda tidak perlu melakukan apa-apa kerja tambahan untuk menyokong TLS 1.2, ia disokong secara lalai.
.BERSIH 4.5. TLS 1.2 disokong, tetapi ia bukan protokol lalai. Anda perlu memilih untuk menggunakannya. Kod berikut menetapkan TLS 1.2 sebagai lalai, pastikan anda melaksanakannya sebelum menyambung ke sumber selamat:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
.BERSIH 4.0. TLS 1.2 tidak disokong, tetapi jika .NET 4.5 (atau lebih tinggi) dipasang pada sistem anda, anda masih mempunyai pilihan untuk menggunakan TLS 1.2 walaupun rangka kerja aplikasi anda tidak menyokong TLS 1.2. Satu-satunya masalah ialah SecurityProtocolType dalam .NET 4.0 tidak mempunyai entri untuk TLS1.2, jadi kita perlu menggunakan perwakilan berangka nilai enum ini:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;
.NET 3.5 atau lebih rendah. TLS 1.2(*) tidak disokong dan tiada penyelesaian. Tingkatkan aplikasi anda kepada versi terkini rangka kerja.
PS Untuk senario 3, terdapat juga penggodaman pendaftaran yang akan memaksa 4.5 untuk menggunakan TLS 1.2 secara lalai tanpa perlu memaksanya secara pemrograman. PPS Seperti yang dinyatakan oleh Christian Pop Microsoft di bawah, terdapat tampung terkini tersedia untuk .NET 3.5 yang membolehkan sokongan TLS1.2.
Lihat:
Mungkin panjang kunci sijil yang disediakan oleh tapak web ialah 512 bit, dan mengikut piawaian industri semasa, ia harus mengandungi kunci awam tidak kurang daripada 2048 bit. Kemas kini keselamatan September 2016 Microsoft menjawab isu ini dengan menyatakan bahawa jika panjang kunci awam kurang daripada 2048 bait (mis. RSA 512),Windows boleh membatalkan sambungan HTTPS
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 nilai lalai: SecurityProtocolType.Tls |
SCH_USE_STRONG_CRYPTO Bendera ini akan digunakan secara automatik dalam .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework Dalam Win7Sp1 dan .Net 3.5.1, TLS1.2 disokong
ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Tutup ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 | (SecurityProtocolType)0xc00 dan sokongan untuk 1.2
Kesimpulan TLS1.2 adalah ini:
Pengubahsuaian pendaftaran di bawah .net4
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
Artikel ini ditulis olehmuat turun laman webDikumpul dan disusun, kandungannya datang dari Internet, sila nyatakan sumber semasa mencetak semula, terima kasih.