ServicePointManager.SecurityProtocol Właściwość

Definicja

Pobiera lub ustawia protokół zabezpieczeń używany przez ServicePoint obiekty zarządzane przez ServicePointManager obiekt.Gets or sets the security protocol used by the ServicePoint objects managed by the ServicePointManager object.

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

Wartość właściwości

SecurityProtocolType

Jedna z wartości zdefiniowanych w SecurityProtocolType wyliczeniu.One of the values defined in the SecurityProtocolType enumeration.

Wyjątki

Wartość określona do ustawienia właściwości nie jest prawidłową SecurityProtocolType wartością wyliczenia.The value specified to set the property is not a valid SecurityProtocolType enumeration value.

Uwagi

Ta właściwość wybiera wersję protokołu SSL (SSL) lub Transport Layer Security (TLS) do użycia dla nowych połączeń; istniejące połączenia nie są zmieniane.This property selects the version of the Secure Sockets Layer (SSL) or Transport Layer Security (TLS) protocol to use for new connections; existing connections aren't changed.

Począwszy od .NET Framework 4,7, wartość domyślna tej właściwości to SecurityProtocolType.SystemDefault .Starting with the .NET Framework 4.7, the default value of this property is SecurityProtocolType.SystemDefault. Umożliwia to .NET Framework interfejsów API sieci opartych na systemie SslStream (takich jak FTP, http i SMTP) do dziedziczenia domyślnych protokołów zabezpieczeń z systemu operacyjnego lub z dowolnej konfiguracji niestandardowej wykonywanej przez administratora systemu.This allows .NET Framework networking APIs based on SslStream (such as FTP, HTTP, and SMTP) to inherit the default security protocols from the operating system or from any custom configurations performed by a system administrator. Aby uzyskać informacje o tym, które protokoły SSL/TLS są domyślnie włączone w każdej wersji systemu operacyjnego Windows, zobacz Protokoły protokołu TLS/SSL (Dostawca SSP Schannel).For information about which SSL/TLS protocols are enabled by default on each version of the Windows operating system, see Protocols in TLS/SSL (Schannel SSP).

W przypadku wersji .NET Framework za pomocą .NET Framework 4.6.2 nie jest wyświetlana żadna wartość domyślna dla tej właściwości.For versions of the .NET Framework through the .NET Framework 4.6.2, no default value is listed for this property. Stałe zmiany w poziomie zabezpieczeń, a domyślne protokoły i poziomy ochrony są zmieniane z upływem czasu w celu uniknięcia znanych słabych wad.The security landscape changes constantly, and default protocols and protection levels are changed over time in order to avoid known weaknesses. Wartości domyślne różnią się w zależności od konfiguracji komputera, zainstalowanego oprogramowania i stosowanych poprawek.Defaults vary depending on individual machine configuration, installed software, and applied patches.

Kod nigdy nie powinien być niejawnie zależny od użycia określonego poziomu ochrony lub w założeniu, że domyślnie używany jest dany poziom zabezpieczeń.Your code should never implicitly depend on using a particular protection level, or on the assumption that a given security level is used by default. Jeśli aplikacja zależy od użycia określonego poziomu zabezpieczeń, należy jawnie określić ten poziom, a następnie sprawdzić, czy jest on rzeczywiście używany na ustanowionym połączeniu.If your app depends on the use of a particular security level, you must explicitly specify that level and then check to be sure that it is actually in use on the established connection. Ponadto kod powinien być zaprojektowany tak, aby był niezawodny w zależności od zmian, które protokoły są obsługiwane, ponieważ takie zmiany są często wprowadzane z niewielkim wyprzedzeniem w celu ograniczenia powstających zagrożeń.Further, your code should be designed to be robust in the face of changes to which protocols are supported, as such changes are often made with little advance notice in order to mitigate emerging threats.

.NET Framework 4,6 obejmuje nową funkcję zabezpieczeń, która blokuje niebezpieczne algorytmy szyfrowania i wyznaczania wartości skrótu dla połączeń.The .NET Framework 4.6 includes a new security feature that blocks insecure cipher and hashing algorithms for connections. Aplikacje korzystające z protokołu TLS/SSL za pośrednictwem interfejsów API, takich jak HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream itp. i przeznaczonych dla .NET Framework 4,6, domyślnie uzyskają bezpieczniejsze zachowanie.Applications using TLS/SSL through APIs such as HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream, etc. and targeting .NET Framework 4.6 get the more-secure behavior by default.

Deweloperzy mogą chcieć zrezygnować z tego zachowania, aby zachować współdziałanie z istniejącymi usługami SSL3 Services lub TLS/RC4.Developers may want to opt out of this behavior in order to maintain interoperability with their existing SSL3 services OR TLS w/ RC4 services. W tym artykule wyjaśniono, jak zmodyfikować kod w taki sposób, aby nowe zachowanie zostało wyłączone.This article explains how to modify your code so that the new behavior is disabled.

Dotyczy

Zobacz też