Direktori artikel
  1. 1. Solusi satu:
  2. 2. Solusi 2
    1. 2.1. perbarui tambalan
    2. 2.2. Tetapkan nilai default
    3. 2.3. Sistem verifikasi
  3. 3. Solusi ketiga
  4. 4. Konten referensi lainnya

Deskripsi: Permintaan dibatalkan: Gagal membuat saluran aman SSL/TLS. Tidak dapat membuat saluran aman SSL/TLS.

Membangun platform: Windows Server 2012, Windows 7 Service Pack 1 (SP1), dan Windows Server 2008 R2 SP1

Solusi satu:

Tetapkan kode sebelum HttpWebRequest

ServicePointManager.Expect100Continue = true;

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

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

Solusi 2

  • Jika cara di atas tidak berhasil, itu adalah masalah tingkat sistem. Perbarui patch sistem sesuai dengan sistem yang Anda gunakan saat ini.

Pembaruan untuk mengaktifkan TLS 1.1 dan TLS 1.2 sebagai protokol keamanan default di WinHTTP di Windows, pembaruan ini menyediakan dukungan untuk Transport Layer Security (TLS) di Windows Server 2012, Windows 7 Service Pack 1 (SP1), dan Windows Server 2008 R2 SP1 1.1 dan dukungan TLS 1.2, silakan merujuk ke dokumentasi resmihttps://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

perbarui tambalan

Tetapkan nilai default

  • Aktifkan TLS 1.1 dan 1.2 pada Windows 7 di tingkat komponen SChannel (adopsi salah satu pembaruan 2.1 atau 2.2 di bawah)

2.1. Microsoft menginstal dan memperbarui registri:http://download.microsoft.com/download/0/6/5/0658B1A7-6D2E-474F-BC2C-D69E5B9E9A68/MicrosoftEasyFix51044.msi

2.2. Perbarui registri secara manual, salin kode registri berikut dan impor ke dalam registri. Buat txt baru, ubah akhiran txt menjadi reg (kunci registri), dan impor (buat cadangan sebelum mengimpor)

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

Sistem verifikasi

  • Verifikasi apakah sistem mendukung TLS1.2, TLS1.3

PowerShell terbuka:

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

Solusi ketiga

  • Tak satu pun dari dua metode sebelumnya akan berhasil. Anda hanya dapat menggunakan metode pamungkas untuk memutakhirkan sistem ke Windows 10.

Konten referensi lainnya

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

Solusi ada, tetapi bergantung pada versi kerangka kerja:

.NET 4.6 dan lebih tinggi. Anda tidak perlu melakukan pekerjaan tambahan apa pun untuk mendukung TLS 1.2, ini didukung secara default.

.NET 4.5. TLS 1.2 didukung, tetapi ini bukan protokol default. Anda harus memilih untuk menggunakannya. Kode berikut menetapkan TLS 1.2 sebagai default, pastikan untuk menjalankannya sebelum menyambung ke sumber daya yang aman:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 tidak didukung, namun jika .NET 4.5 (atau lebih tinggi) diinstal pada sistem Anda, Anda masih memiliki opsi untuk menggunakan TLS 1.2 meskipun kerangka aplikasi Anda tidak mendukung TLS 1.2. Satu-satunya masalah adalah SecurityProtocolType di .NET 4.0 tidak memiliki entri untuk TLS1.2, jadi kita harus menggunakan representasi numerik dari nilai enum ini:
ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 atau lebih rendah. TLS 1.2(*) tidak didukung dan tidak ada solusi. Tingkatkan aplikasi Anda ke kerangka versi terbaru.

PS Untuk skenario 3, ada juga peretasan registri yang akan memaksa 4.5 untuk menggunakan TLS 1.2 secara default tanpa harus memaksanya secara terprogram.
PPS Seperti yang disebutkan oleh Christian Pop dari Microsoft di bawah, ada patch terbaru yang tersedia untuk .NET 3.5 yang mengaktifkan dukungan TLS1.2.
Melihat:
KB3154518 – Rollup Keandalan HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
KB3154519 – Rollup Keandalan HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
KB3154520 – Rollup Keandalan HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Direktori artikel
  1. 1. Solusi satu:
  2. 2. Solusi 2
    1. 2.1. perbarui tambalan
    2. 2.2. Tetapkan nilai default
    3. 2.3. Sistem verifikasi
  3. 3. Solusi ketiga
  4. 4. Konten referensi lainnya