Share via


ServicePointManager.SecurityProtocol Özellik

Tanım

Nesne 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 şeklindedirSecurityProtocolType.SystemDefault. Bu, .NET Framework ağ API'lerinin SslStream (FTP, HTTP ve SMTP gibi) 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) protokolleri.

.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 zaman içinde varsayılan protokoller ve koruma düzeyleri değiştirilir. Varsayılanlar, tek tek makine yapılandırmasına, yüklü yazılımlara ve uygulanan yamalara 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 bunun 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, ortaya çıkan tehditleri azaltmak için genellikle çok az önceden bildirimle yapılır.

.NET Framework 4.6, bağlantılar için güvenli olmayan şifreleme ve karma algoritmalarını engelleyen yeni bir güvenlik özelliği içerir. HTTPClient, HttpWebRequest, FTPClient, SmtpClient, SslStream gibi API'ler aracılığıyla TLS/SSL kullanan ve 4.6 .NET Framework hedefleyen uygulamalar, varsayılan olarak daha güvenli bir davranış elde eder.

Geliştiriciler, mevcut SSL3 hizmetleriyle veya RC4 hizmetleriyle TLS ile 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.

Şunlara uygulanır

Ayrıca bkz.