ServicePointManager.SecurityProtocol Свойство

Определение

Возвращает или задает протокол безопасности, используемый объектами ServicePoint, которые управляются объектом ServicePointManager.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

Значение свойства

SecurityProtocolType

Одно из значений, определенных в перечислении SecurityProtocolType.One of the values defined in the SecurityProtocolType enumeration.

Исключения

Значение, указанное для задания свойства, не является допустимым значением перечисления SecurityProtocolType.The value specified to set the property is not a valid SecurityProtocolType enumeration value.

Комментарии

Это свойство выбирает версию протокола SSL (SSL) или протокол TLS, который будет использоваться для новых соединений. существующие соединения не изменяются.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.

Начиная с .NET Framework 4,7, значением этого свойства по умолчанию является SecurityProtocolType.SystemDefault .Starting with the .NET Framework 4.7, the default value of this property is SecurityProtocolType.SystemDefault. Это позволяет .NET Frameworkным сетевым интерфейсам API, основанным на SslStream (например, FTP, HTTP и SMTP), наследовать протоколы безопасности по умолчанию от операционной системы или от любых пользовательских конфигураций, выполняемых системным администратором.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. Сведения о том, какие протоколы SSL/TLS включены по умолчанию в каждой версии операционной системы Windows, см. в разделе протоколы в TLS/SSL (Schannel SSP).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).

Для версий .NET Framework с помощью .NET Framework 4.6.2 для этого свойства не указаны значения по умолчанию.For versions of the .NET Framework through the .NET Framework 4.6.2, no default value is listed for this property. Постоянно изменяется ландшафт безопасности, а протоколы и уровни защиты по умолчанию изменяются с течением времени, чтобы избежать известных слабых мест.The security landscape changes constantly, and default protocols and protection levels are changed over time in order to avoid known weaknesses. Значения по умолчанию зависят от конфигурации отдельного компьютера, установленного программного обеспечения и примененных исправлений.Defaults vary depending on individual machine configuration, installed software, and applied patches.

Код никогда не должен зависеть от использования определенного уровня защиты или от предположения, что данный уровень безопасности используется по умолчанию.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. Если поведение приложения зависит от использования определенного уровня безопасности, необходимо явно указать этот уровень и убедиться, что этот уровень действительно используется в установленном подключении.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. Кроме того, код должен быть спроектирован так, чтобы быть надежным в тех изменениях, в которых поддерживаются протоколы, так как такие изменения часто делаются с небольшим предварительным уведомлением для устранения новых угроз.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 включает новую функцию безопасности, которая блокирует небезопасные алгоритмы шифрования и хеширования для подключений.The .NET Framework 4.6 includes a new security feature that blocks insecure cipher and hashing algorithms for connections. Приложения, использующие TLS/SSL через API, такие как HttpClient, HttpWebRequest, Фтпклиент, SmtpClient, SslStream и т. д. .NET Framework 4,6, обеспечивают более безопасное поведение по умолчанию.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.

Разработчики могут захотеть отказаться от этого поведения, чтобы обеспечить взаимодействие с имеющимися службами SSL3 Services или TLS w/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. В этой статье объясняется, как изменить код таким образом, чтобы новое поведение было отключено.This article explains how to modify your code so that the new behavior is disabled.

Применяется к

См. также раздел