Dukungan untuk TLS Default versi sistem disertakan di .NET Framework 3.5 di Windows Server 2012

.NET framework versi 3.5 dan versi sebelumnya tidak menyediakan dukungan untuk aplikasi yang menggunakan versi Default sistem Transport Layer Security (TLS) sebagai protokol kriptografi. Pemutakhiran ini memungkinkan penggunaan TLS v1.2 di .NET Framework 3.5.

Catatan konten ini telah tersedia di Pemutakhiran Windows. Untuk mendapatkan konten, Pindai Pemutakhiran Windows terbaru pemutakhiran .NET Framework. Jika sistem Anda sepenuhnya dimutakhirkan melalui Pemutakhiran Windows, Anda tidak perlu mengambil tindakan lebih lanjut.

Pemecahan Masalah

Informasi unduhan

Berkas berikut tersedia untuk di-download dari Microsoft Download Center:Download Download Kami telah membuat perbaikan berikut dalam bidang ini:

  • Registri berikut kunci dapat disetel untuk menggunakan sistem operasi default untuk SSL dan TLS bukannya hardcoded .NET Framework default untuk aplikasi yang dikelola berjalan di komputer.

    • Untuk sistem operasi 64-bit:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    • Untuk sistem operasi 32-bit:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]"SystemDefaultTlsVersions"=dword:00000001

    Catatan Jika aplikasi telah menetapkan ServicePointManager.SecureProtocol kode atau melalui berkas konfigurasi nilai tertentu, atau menggunakan SslStream.AuthenticateAs* api untuk menentukan enum SslProtocols tertentu, tataan registri perilaku ini tidak terjadi.

  • Selain itu, kami telah menambahkan enumerasi SslProtocolsExtensions yang dapat Anda gunakan sebagai opsi untuk pengaturan TLS v1.2, TLS v1.1, serta sistem operasi asali untuk properti ServicePointManager.SecurityProtocol ketika penargetan .NET Framework versi 2.0 SP2. (Lihat bagian Pengembang panduan untuk informasi tentang cara menggunakan ekstensi.) Catatan Windows Vista SP2 dan Windows Server 2008 SP2 tidak mendukung versi protokol Transport Layer Security (TLS) yang lebih baru daripada 1.0. Aplikasi .NET Framework 2.0 SP2 yang dikelola berjalan di Windows Vista SP2 atau Windows Server 2008 SP2 tidak dapat menggunakan TLS 1.2 atau TLS 1.1, bahkan jika protokol tersebut terletak di properti ServicePointManager.SecurityProtocol .

Untuk informasi lebih lanjut tentang cara mengunduh file pendukung Microsoft, klik nomor artikel di bawah ini untuk melihat artikel pada Pangkalan Pengetahuan Microsoft:

Cara mendapatkan berkas dukungan Microsoft dari layanan daring Microsoft telah memindai file ini dari virus. Microsoft menggunakan perangkat lunak pendeteksi virus terbaru telah tersedia pada tanggal berkas diposting. File tersebut disimpan di server aman yang membantu mencegah segala perubahan tidak sah terhadap file.

Panduan pengembang

Definisi ekstensi baru yang ada di berkas berikut ini:

  • SecurityProtocolTypeExtensions.csnamespace System.Net{using System.Security.Authentication;public static class SecurityProtocolTypeExtensions{public const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;public const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;public const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;}}

  • SslProtocolsExtensions.csnamespace System.Security.Authentication{public static class SslProtocolsExtensions{public const SslProtocols Tls12 = (SslProtocols)0x00000C00;public const SslProtocols Tls11 = (SslProtocols)0x00000300;}}

Untuk menyertakan dukungan untuk TLS v1.2, termasuk berkas sumber proyek Anda, dan kemudian tetapkan versi protokol dengan menggunakan metode berikut ini:

  • Aplikasi yang menggunakan api berbasis ServicePointManager dapat menetapkan protokol menggunakan following:System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;

  • Aplikasi yang menggunakan SslStream AuthenticateAsClient (String, X509CertificateCollection, SslProtocols, Boolean) berlebihan dapat menetapkan nilai SslProtocols sebagai SslProtocolsExtensions.Tls12.

Jika Pengaturan registri yang disebutkan di paragraf pertama diatur, dan nilai SslProtocols diatur dalam aplikasi sebagai SslProtocols.None, perilaku default sistem yang dipilih akan tergantung pada versi Windows. Selain itu, saat Anda mengubah kode aplikasi untuk mengaktifkan dukungan untuk TLS v1.2 dengan .NET Framework 3.5 SP1, Anda harus memastikan bahwa Anda Alamat pengecualian berikut pada komputer di mana patch ini tidak disebarkan:

  1. Apabila hotfix tidak diinstal, ServicePointManager-berdasarkan api (HTTP, FTP, SMTP) akan membuang "System.NotSupportedException: protokol keamanan yang diminta tidak didukung" ketika aplikasi panggilan ServicePointManager.SecurityProtocol untuk menetapkan nilai yang baru.

  2. Apabila hotfix tidak diinstal, SslStream-berdasarkan api akan membuang pengecualian ketika menelepon salah satu AuthenticateAs * api:

    System.ArgumentException: Nilai yang dimasukkan tidak sah dalam penghitungan 'SslProtocolType'. Nama parameter: sslProtocolType

Catatan Untuk SslStream hanya, kombinasi Tls12, Tls11 dengan salah satu Tls, Ssl3, ada Ssl2 (misalnya: Tls12 | Tls11 | TLS) akan diam-diam downgrade ke protokol yang ada (misalnya: Tls) pada sistem tanpa patch. Ini akan terhubung Tls tanpa membuang pengecualian.

Informasi Selengkapnya

Untuk mengaktifkan TLS v1.1 atau v1.2 sebagai sistem operasi asali, ikuti petunjuk di .Catatan TLS v1.1 dan v1.2 yang tidak tersedia di Windows Vista atau Windows Server 2008.If Anda harus menonaktifkan default sistem operasi yang ditetapkan oleh kunci registri yang disebutkan di bagian "Pemecahan masalah" untuk aplikasi tertentu, Anda dapat melakukannya dengan menambahkan kunci registri berikut ini:HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions<<Full path of the .exe for the file>> DWORD 0C:\MyApp\MyApp.exe DWORD 0

Untuk informasi selengkapnya tentang TLS v1.2, lihat . Setelah Anda mengaktifkan kunci registri .NET SystemDefaultTlsVersions , perilaku berbeda terjadi untuk setiap versi Windows, seperti yang ditunjukkan pada tabel berikut.

Versi Windows

SSL2 klien

SSL2 Server

SSL3 klien

SSL3 Server

TLS 1.0 klien

TLS 1.0 Server

TLS 1.1 klien

TLS 1.1 Server

TLS 1.2 klien

TLS 1.2 Server

Windows Vista SP2 dan Windows Server 2008 SP2

Off

Pada

Pada

Pada

Pada

Pada

N/A

N/A

N/A

N/A

Windows 7 SP1 dan Windows Server 2008 R2 SP1

Off

Pada

Pada

Pada

Pada

Pada

Off

Off

Off

Off

Windows Server 2012

Off

Off

Pada

Pada

Pada

Pada

Pada

Pada

Pada

Pada

Windows 8.1 dan Windows Server 2012 R2

Off

Off

Pada

Pada

Pada

Pada

Pada

Pada

Pada

Pada

Windows 10

Off

Off

Pada

Pada

Pada

Pada

Pada

Pada

Pada

Pada

10 Windows (1511)

Off

Off

Pada

Pada

Pada

Pada

Pada

Pada

Pada

Pada

Windows 10 (1607) dan Windows Server 2016

N/A

N/A

Off

Off

Pada

Pada

Pada

Pada

Pada

Pada

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×