ServicePointManager.SecurityProtocol Vlastnost

Definice

Získá nebo nastaví protokol zabezpečení používaný ServicePoint objekty spravovanými objektem 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 v 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 .NET Framework 4.7 je výchozí hodnota této vlastnosti SecurityProtocolType.SystemDefault. To umožňuje .NET Framework síťová rozhraní API založená 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í provedených správcem systému. Informace o tom, které protokoly SSL/TLS jsou ve výchozím nastavení povolené pro každou verzi operačního systému Windows, najdete v tématu Protocols v protokolu TLS/SSL (Schannel SSP).

Pro verze .NET Framework prostřednictvím .NET Framework 4.6.2 není pro tuto vlastnost uvedena žádná výchozí hodnota. Zabezpečení se neustále mění a výchozí protokoly a úrovně ochrany se v průběhu času mění, aby se zabránilo známým slabým stránkám. Výchozí nastavení 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, jestli se skutečně používá na vytvořeném připojení. Váš kód by měl být navíc navržený tak, aby byl robustní vzhledem ke změnám podporovaných protokolů, jako jsou takové změny často provedeny s malým předstihem, aby se zmírnit vznikající hrozby.

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

Vývojáři můžou chtít toto chování vyloučit, aby zachovali interoperabilitu se stávajícími službami SSL3 nebo službami TLS w/ RC4. Tento článek vysvětluje, jak upravit kód tak, aby nové chování bylo zakázané.

Note

Vzhledem k tomu, .NET 9, tato vlastnost mapuje na EnabledSslProtocols .SocketsHttpHandler.SslOptions

Platí pro

Viz také