ServicePointManager.SecurityProtocol Свойство

Определение

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

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

Одно из значений, определенных в перечислении SecurityProtocolType.

Исключения

Значение, указанное для задания свойства, не является допустимым значением перечисления SecurityProtocolType.

Комментарии

Это свойство выбирает версию протокола SSL или TLS для использования для новых подключений; существующие подключения не изменяются.

Начиная с платформа .NET Framework 4.7 значение этого свойства по умолчанию — SecurityProtocolType.SystemDefault. Это позволяет платформа .NET Framework сетевым API на SslStream основе (например, FTP, HTTP и SMTP) наследовать протоколы безопасности по умолчанию от операционной системы или любых пользовательских конфигураций, выполняемых системным администратором. Сведения о том, какие протоколы SSL/TLS включены по умолчанию в каждой версии операционной системы Windows, см. в статье Протоколы в TLS/SSL (Schannel SSP).

Для версий платформа .NET Framework через платформа .NET Framework 4.6.2 для этого свойства не указано значение по умолчанию. Ландшафт безопасности постоянно меняется, а протоколы по умолчанию и уровни защиты изменяются со временем, чтобы избежать известных слабых мест. Значения по умолчанию зависят от конфигурации компьютера, установленного программного обеспечения и примененных исправлений.

Код никогда не должен неявно зависеть от использования определенного уровня защиты или предположения о том, что заданный уровень безопасности используется по умолчанию. Если поведение приложения зависит от использования определенного уровня безопасности, необходимо явно указать этот уровень и убедиться, что этот уровень действительно используется в установленном подключении. Кроме того, ваш код должен быть надежным перед лицом изменений, которые поддерживаются протоколы, так как такие изменения часто вносятся с небольшим предварительным уведомлением, чтобы устранить возникающие угрозы.

В платформа .NET Framework 4.6 включена новая функция безопасности, которая блокирует небезопасные алгоритмы шифра и хэширования для подключений. Приложения, использующие TLS/SSL через ТАКИЕ API, как HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream и т. д., а также нацеливание платформа .NET Framework 4.6 по умолчанию получают более безопасное поведение.

Разработчики могут отказаться от такого поведения, чтобы поддерживать взаимодействие с существующими службами SSL3 или tls w/RC4. В этой статье объясняется, как изменить код, чтобы новое поведение было отключено.

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

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