ServicePointManager.SecurityProtocol Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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; }
member this.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 rozhraním .NET Framework 4.7 je SecurityProtocolType.SystemDefaultvýchozí hodnota této vlastnosti . To umožňuje rozhraním .NET Framework síťových rozhraní API založených 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 Protokoly v protokolu TLS/SSL (Schannel SSP).
Pro verze rozhraní .NET Framework prostřednictvím rozhraní .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 nedocházelo ke 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 daná úroveň zabezpečení je ve výchozím nastavení používána. 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 zavedeném připojení. Kromě toho by měl být váš kód navržen tak, aby byl robustní v případě změn podporovaných protokolů, jako jsou takové změny často s minimálním předstihem, aby bylo možné zmírnit vznikající hrozby.
Rozhraní .NET Framework 4.6 obsahuje novou funkci zabezpečení, která blokuje nezabezpečené šifrovací algoritmy a algoritmy 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 cílení na rozhraní .NET Framework 4.6, ve výchozím nastavení získají bezpečnější chování.
Vývojáři se můžou chtít z tohoto chování odhlásit, aby zachovali interoperabilitu se svými stávajícími službami SSL3 nebo službami TLS w/ RC4. Tento článek vysvětluje, jak upravit kód tak, aby bylo nové chování zakázané.