ServicePointManager.SecurityProtocol Vlastnost

Definice

Získá nebo nastaví protokol zabezpečení používaný ServicePoint objekty spravované objekty ServicePointManager .

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

Hodnota vlastnosti

Jedna z hodnot definovaných ve výčtu SecurityProtocolType .

Výjimky

Hodnota zadaná k nastavení vlastnosti není platná SecurityProtocolType hodnota výčtu.

Poznámky

Tato vlastnost vybere verzi protokolu SSL (Secure Sockets Layer) nebo TLS (Transport Layer Security), který se má použít pro nová připojení; stávající připojení se nezmění.

Počínaje rozhraním .NET Framework 4.7 je SecurityProtocolType.SystemDefaultvýchozí hodnota této vlastnosti . To umožňuje síťovým rozhraním API rozhraní .NET Framework založeným na SslStream (například FTP, HTTP a SMTP) dědit výchozí protokoly zabezpečení z operačního systému nebo z jakýchkoli vlastních konfigurací prováděných správcem systému. Informace o tom, které protokoly SSL/TLS jsou ve výchozím nastavení povolené v jednotlivých verzích operačního systému Windows, najdete v tématu Protokoly v TLS/SSL (zprostředkovatel zabezpečení Schannel).

Pro verze rozhraní .NET Framework až .NET Framework 4.6.2 není pro tuto vlastnost uvedena žádná výchozí hodnota. Prostředí zabezpečení se neustále mění a výchozí protokoly a úrovně ochrany se v průběhu času mění, aby se předešlo známým slabým stránkám. Výchozí hodnoty se liší v závislosti na konfiguraci jednotlivých počítačů, nainstalovaném softwaru a použitých opravách.

Váš kód by nikdy neměl implicitně záviset na použití konkrétní úrovně ochrany nebo na předpokladu, že se daná úroveň zabezpečení používá ve výchozím nastavení. Pokud vaše aplikace závisí na použití konkrétní úrovně zabezpečení, musíte tuto úroveň explicitně zadat a pak zkontrolovat, že se ve vytvořeném připojení skutečně používá. Kromě toho by váš kód měl být navržený tak, aby byl robustní vzhledem ke změnám podporovaných protokolů, protože tyto změny se často provádějí s malým předstihem, aby se zmírnily vznikající hrozby.

Rozhraní .NET Framework 4.6 obsahuje novou funkci zabezpečení, která blokuje nezabezpečené algoritmy šifer a hash pro připojení. Aplikace používající protokol TLS/SSL prostřednictvím rozhraní API, jako jsou HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream atd., a zacílené na rozhraní .NET Framework 4.6 získají ve výchozím nastavení bezpečnější chování.

Vývojáři se můžou chtít z tohoto chování odhlásit, aby si zachovali interoperabilitu se svými stávajícími službami SSL3 NEBO se službami TLS s RC4. Tento článek vysvětluje, jak upravit kód tak, aby nové chování bylo zakázáno.

Platí pro

Viz také