Udostępnij za pośrednictwem


ServicePointManager.SecurityProtocol Właściwość

Definicja

Pobiera lub ustawia protokół zabezpieczeń używany przez ServicePoint obiekty zarządzane przez ServicePointManager obiekt.

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

Wartość właściwości

Jedna z wartości zdefiniowanych w wyliczenie SecurityProtocolType .

Wyjątki

Określona wartość ustawiania właściwości nie jest prawidłową SecurityProtocolType wartością wyliczenia.

Uwagi

Ta właściwość wybiera wersję protokołu SSL (Secure Sockets Layer) lub Transport Layer Security (TLS) do użycia dla nowych połączeń; istniejące połączenia nie są zmieniane.

Począwszy od programu .NET Framework 4.7, domyślną wartością tej właściwości jest SecurityProtocolType.SystemDefault. Dzięki temu interfejsy API sieci programu .NET Framework oparte na SslStream (takich jak FTP, HTTP i SMTP) dziedziczą domyślne protokoły zabezpieczeń z systemu operacyjnego lub z dowolnych niestandardowych konfiguracji wykonywanych przez administratora systemu. 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 w protokole TLS/SSL (SSP Schannel).

W przypadku wersji programu .NET Framework za pośrednictwem programu .NET Framework 4.6.2 żadna wartość domyślna nie jest wyświetlana dla tej właściwości. Zmiany w poziomie zabezpieczeń stale, a domyślne protokoły i poziomy ochrony są zmieniane wraz z upływem czasu, aby uniknąć znanych słabości. Wartości domyślne różnią się w zależności od konfiguracji poszczególnych maszyn, zainstalowanych oprogramowania i zastosowanych poprawek.

Kod nigdy nie powinien być niejawnie zależny od używania określonego poziomu ochrony lub przy założeniu, że dany poziom zabezpieczeń jest domyślnie używany. Jeśli aplikacja zależy od użycia określonego poziomu zabezpieczeń, musisz jawnie określić ten poziom, a następnie sprawdzić, czy jest on rzeczywiście używany w nawiązanym połączeniu. Ponadto kod powinien być zaprojektowany tak, aby był niezawodny w obliczu zmian obsługiwanych protokołów, ponieważ takie zmiany są często wprowadzane z niewielkim wyprzedzeniem w celu ograniczenia pojawiających się zagrożeń.

Program .NET Framework 4.6 zawiera nową funkcję zabezpieczeń, która blokuje niezabezpieczone algorytmy szyfrowania i skrótów dla połączeń. Aplikacje korzystające z protokołu TLS/SSL za pośrednictwem interfejsów API, takich jak HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream itp. i przeznaczone dla platformy .NET Framework 4.6 domyślnie uzyskują bardziej bezpieczne zachowanie.

Deweloperzy mogą zrezygnować z tego zachowania, aby zachować współdziałanie z istniejącymi usługami SSL3 lub TLS w/ RC4. W tym artykule wyjaśniono, jak zmodyfikować kod tak, aby nowe zachowanie było wyłączone.

Dotyczy

Zobacz też