Share via


ServicePointManager.SecurityProtocol Properti

Definisi

Mendapatkan atau mengatur protokol keamanan yang digunakan oleh ServicePoint objek yang dikelola oleh ServicePointManager objek .

public:
 static property System::Net::SecurityProtocolType SecurityProtocol { System::Net::SecurityProtocolType get(); void set(System::Net::SecurityProtocolType value); };
public static System.Net.SecurityProtocolType SecurityProtocol { get; set; }
static member SecurityProtocol : System.Net.SecurityProtocolType with get, set
Public Shared Property SecurityProtocol As SecurityProtocolType

Nilai Properti

Salah satu nilai yang ditentukan dalam SecurityProtocolType enumerasi.

Pengecualian

Nilai yang ditentukan untuk mengatur properti bukan nilai enumerasi yang valid SecurityProtocolType .

Keterangan

Properti ini memilih versi protokol Secure Sockets Layer (SSL) atau Transport Layer Security (TLS) yang akan digunakan untuk koneksi baru; koneksi yang ada tidak diubah.

Dimulai dengan .NET Framework 4.7, nilai default properti ini adalah SecurityProtocolType.SystemDefault. Ini memungkinkan .NET Framework API jaringan berdasarkan SslStream (seperti FTP, HTTP, dan SMTP) untuk mewarisi protokol keamanan default dari sistem operasi atau dari konfigurasi kustom apa pun yang dilakukan oleh administrator sistem. Untuk informasi tentang protokol SSL/TLS mana yang diaktifkan secara default pada setiap versi sistem operasi Windows, lihat Protokol di TLS/SSL (Schannel SSP).

Untuk versi .NET Framework melalui .NET Framework 4.6.2, tidak ada nilai default yang tercantum untuk properti ini. Lanskap keamanan berubah terus-menerus, dan protokol default dan tingkat perlindungan diubah dari waktu ke waktu untuk menghindari kelemahan yang diketahui. Default bervariasi tergantung pada konfigurasi komputer individual, perangkat lunak yang diinstal, dan patch yang diterapkan.

Kode Anda tidak boleh secara implisit bergantung pada penggunaan tingkat perlindungan tertentu, atau pada asumsi bahwa tingkat keamanan tertentu digunakan secara default. Jika aplikasi Anda bergantung pada penggunaan tingkat keamanan tertentu, Anda harus secara eksplisit menentukan tingkat tersebut lalu memeriksa untuk memastikan bahwa aplikasi tersebut benar-benar digunakan pada koneksi yang dibuat. Selanjutnya, kode Anda harus dirancang agar kuat dalam menghadapi perubahan protokol mana yang didukung, karena perubahan tersebut sering dilakukan dengan sedikit pemberitahuan sebelumnya untuk mengurangi ancaman yang muncul.

.NET Framework 4.6 menyertakan fitur keamanan baru yang memblokir cipher dan algoritma hashing yang tidak aman untuk koneksi. Aplikasi yang menggunakan TLS/SSL melalui API seperti HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream, dll. dan penargetan .NET Framework 4.6 mendapatkan perilaku yang lebih aman secara default.

Pengembang mungkin ingin menolak perilaku ini untuk menjaga interoperabilitas dengan layanan SSL3 yang ada ATAU layanan TLS w/ RC4. Artikel ini menjelaskan cara mengubah kode Anda sehingga perilaku baru dinonaktifkan.

Berlaku untuk

Lihat juga