SocketProtectionLevel Перечисление

Определение

Задает уровень шифрования, используемый в объекте StreamSocket .

public enum class SocketProtectionLevel
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
enum class SocketProtectionLevel
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
public enum SocketProtectionLevel
var value = Windows.Networking.Sockets.SocketProtectionLevel.plainSocket
Public Enum SocketProtectionLevel
Наследование
SocketProtectionLevel
Атрибуты

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v1.0)
Возможности приложения
bluetooth.rfcomm ID_CAP_NETWORKING [Windows Phone]

Поля

BluetoothEncryptionAllowNullAuthentication 3

Сокет Bluetooth, который предпочитает использовать шифрование, но допускает шифр NULL (без шифрования) в зависимости от конфигурации целевого сервера.

Это значение поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

BluetoothEncryptionWithAuthentication 4

Сокет Bluetooth, который должен использовать шифрование. Это значение требует шифрования и никогда не допускает шифр NULL.

Это значение поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

PlainSocket 0

Обычный сокет без шифрования.

Ssl 1

Примечание

Это значение не рекомендуется использовать в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

Сокет TCP, который должен использовать протокол SSL для шифрования. Это значение требует шифрования и никогда не допускает шифр NULL (без шифрования).

Это значение поддерживает протоколы SSL 3.0 и TLS 1.0 и все шифры шифрования, установленные в системе, за исключением шифра NULL. Для компьютеров, присоединенных к домену, администратор может настроить дополнительные ограничения, на которые разрешены шифры.

Это значение помечается как нерекомендуемое, так как оно считается небезопасным, так как разрешены rc4 и другие слабые шифры. Вместо этого сокеты должны использовать Tls10, Tls11 или Tls12 , если целевой сервер не поддерживает только RC4 или другой слабый шифр.

Ssl3AllowWeakEncryption 5

Сокет TCP, который должен использовать SSL для шифрования. Это значение поддерживает протокол SSL 3.0 и все шифры шифрования, установленные в системе, за исключением шифра NULL. Это значение позволяет использовать RC4 и другие слабые шифры, которые считаются небезопасными. Для компьютеров, присоединенных к домену, администратор может настроить дополнительные ограничения, на которые разрешены шифры.

Это значение поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

SslAllowNullEncryption 2

Сокет TCP, который предпочитает использовать SSL для шифрования. Это значение предпочитает использовать полное шифрование, но разрешает шифр NULL (без шифрования) в зависимости от конфигурации сервера.

Это значение поддерживает протоколы SSL 3.0 и TLS 1.0 и все шифры шифрования, установленные в системе, включая шифр NULL. Для компьютеров, присоединенных к домену, администратор может настроить дополнительные ограничения, на которые разрешены шифры.

Шифр NULL не шифруется, поэтому это значение не обеспечивает конфиденциальность, но защищена целостностью.

Tls10 6

Сокет TCP, который должен использовать SSL для шифрования. Это значение поддерживает протокол TLS 1.0 и все шифры шифрования, установленные в системе, кроме RC4, другие слабые шифры и шифр NULL. Для компьютеров, присоединенных к домену, администратор может настроить дополнительные ограничения, на которые разрешены шифры.

Это значение поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

Tls11 7

Сокет TCP, который должен использовать SSL для шифрования. Это значение поддерживает протоколы TLS 1.1 и TLS 1.0 и все шифры шифрования, установленные в системе, кроме RC4, другие слабые шифры и шифр NULL. Для компьютеров, присоединенных к домену, администратор может настроить дополнительные ограничения, на которые разрешены шифры.

Это значение поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

Tls12 8

Сокет TCP, который должен использовать SSL для шифрования. Это значение поддерживает протоколы TLS 1.2, TLS 1.1 и TLS 1.0 и все шифры шифрования, установленные в системе, за исключением RC4, других слабых шифров и шифров NULL. Для компьютеров, присоединенных к домену, администратор может настроить дополнительные ограничения, на которые разрешены шифры.

Это значение поддерживается в Windows 8.1, Windows Server 2012 R2 и более поздних версий.

Tls13 10
Unspecified 9

Уровень защиты не указан.

Комментарии

Перечисление SocketProtectionLevel позволяет клиентам управлять согласованием протоколов для параметров безопасности с серверами при использовании объекта StreamSocket .

Для сокетов TCP различные значения перечисления позволяют разработчикам приложений контролировать использование протоколов TLS 1.2, TLS 1.1, TLS 1.0 и SSL 3.0 и ограничить использование RC4 и других слабых шифров, которые считаются небезопасными. Это позволяет разработчикам настраивать приложения, совместимые на очень широком наборе серверов.

Для сокетов Bluetooth RFCOMM различные значения перечисления позволяют разработчикам приложений контролировать использование шифрования Bluetooth.

Пользователи компьютеров, не присоединенных к домену, также могут отключить шифры и протоколы с помощью параметров реестра. Дополнительные сведения см. в статье Как ограничить использование определенных криптографических алгоритмов и протоколов в Schannel.dll.

Перечисление SocketProtectionLevel также позволяет серверам управлять согласованием протокола для обеспечения безопасности с клиентами при использовании объекта StreamSocketListener для прослушивания и привязки сокетов по Bluetooth. Если объект StreamSocketListener используется по Bluetooth, поддерживаемыми значениями SocketProtectionLevel являются PlainSocket, BluetoothEncryptionAllowNullAuthentication или BluetoothEncryptionWithentication. Если объект StreamSocketListener используется для прослушивания и привязки к сокетам TCP, единственным поддерживаемым значением SocketProtectionLevel является PlainSocket.

Журнал версий

Версия Windows Версия пакета SDK Добавленная стоимость
1709 16299 Не указан

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

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