ServicePointManager.SecurityProtocol Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesnesi tarafından yönetilen nesneler tarafından kullanılan güvenlik protokollerini ServicePointServicePointManager alır veya ayarlar.
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
Özellik Değeri
Numaralandırmada SecurityProtocolType tanımlanan değerlerden biri.
Özel durumlar
Özelliği ayarlamak için belirtilen değer geçerli SecurityProtocolType bir numaralandırma değeri değil.
Açıklamalar
Bu özellik, yeni bağlantılar için kullanılacak Güvenli Yuva Katmanı (SSL) veya Aktarım Katmanı Güvenliği (TLS) protokolünün sürümünü seçer; mevcut bağlantılar değiştirilmez.
.NET Framework 4.7'den başlayarak, bu özelliğin varsayılan değeri SecurityProtocolType.SystemDefault'dir. Bu, SslStream (FTP, HTTP ve SMTP gibi) tabanlı .NET Framework ağ API'lerinin varsayılan güvenlik protokollerini işletim sisteminden veya sistem yöneticisi tarafından gerçekleştirilen özel yapılandırmalardan devralmasını sağlar. Windows işletim sisteminin her sürümünde varsayılan olarak hangi SSL/TLS protokollerinin etkinleştirildiği hakkında bilgi için bkz. TLS/SSL (Schannel SSP)'da
.NET Framework 4.6.2 aracılığıyla .NET Framework sürümleri için bu özellik için varsayılan değer listelenmez. Güvenlik ortamı sürekli değişir ve bilinen zayıflıkları önlemek için varsayılan protokoller ve koruma düzeyleri zaman içinde değiştirilir. Varsayılanlar tek tek makine yapılandırmasına, yüklü yazılımlara ve uygulanan düzeltme eklerine bağlı olarak değişir.
Kodunuz hiçbir zaman örtük olarak belirli bir koruma düzeyinin kullanılmasına veya belirli bir güvenlik düzeyinin varsayılan olarak kullanıldığı varsayımlarına bağlı olmamalıdır. Uygulamanız belirli bir güvenlik düzeyinin kullanımına bağlıysa, bu düzeyi açıkça belirtmeniz ve ardından kurulan bağlantıda gerçekten kullanımda olduğundan emin olmanız gerekir. Ayrıca kodunuz, protokollerin desteklendiği değişiklikler karşısında sağlam olacak şekilde tasarlanmalıdır. Bu tür değişiklikler, yeni ortaya çıkan tehditleri azaltmak için genellikle çok az önceden bildirimle yapılır.
.NET Framework 4.6, güvenli olmayan şifreleme ve bağlantılar için karma algoritmaları engelleyen bir güvenlik özelliği içerir. HTTPClient, HttpWebRequest, FTPClient, SmtpClient ve SslStream gibi API'ler aracılığıyla TLS/SSL kullanan ve .NET Framework 4.6'yı hedefleyen uygulamalar, varsayılan olarak daha güvenli bir davranış elde eder.
Geliştiriciler, mevcut SSL3 hizmetleri veya RC4 w/ RC4 hizmetleriyle birlikte çalışabilirliği sürdürmek için bu davranışı geri çevirmek isteyebilir. Bu makalede , yeni davranışın devre dışı bırakılması için kodunuzun nasıl değiştirileceği açıklanır.
Note
.NET 9'dan bu yana, bu özellik üzerinde ile EnabledSslProtocols eşler SocketsHttpHandler.SslOptions.