ServicePointManager.SecurityProtocol Properti

Definisi

Mendapatkan atau mengatur protokol keamanan yang digunakan oleh objek yang ServicePoint 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 networking API 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 Protocols 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 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 yang didukung protokol, karena perubahan tersebut sering dilakukan dengan sedikit pemberitahuan terlebih dahulu untuk mengurangi ancaman yang muncul.

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

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

Note

Sejak .NET 9, properti ini memetakan ke EnabledSslProtocols pada SocketsHttpHandler.SslOptions.

Berlaku untuk

Lihat juga