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

一种蓝牙套接字,它更喜欢使用加密,但允许 NULL 密码 (基于目标服务器的配置不加密) 。

Windows 8.1、Windows Server 2012 R2 及更高版本支持此值。

BluetoothEncryptionWithAuthentication 4

必须使用加密的蓝牙套接字。 此值需要加密,并且绝不允许 NULL 密码。

Windows 8.1、Windows Server 2012 R2 及更高版本支持此值。

PlainSocket 0

不带加密的纯套接字。

Ssl 1

注意

此值在 Windows 8.1、Windows Server 2012 R2 及更高版本上已弃用。

必须使用安全套接字层 (SSL) 进行加密的 TCP 套接字。 此值需要加密,并且绝不允许 NULL 密码 (无加密) 。

此值支持 SSL 3.0 和 TLS 1.0 协议以及系统上安装的所有加密密码(NULL 密码除外)。 对于已加入域的计算机,管理员可以配置允许加密的其他限制。

此值被标记为已弃用,因为它被视为不安全,因为允许 RC4 和其他弱密码。 除非目标服务器仅支持 RC4 或其他弱密码,否则套接字应改用 Tls10、Tls11 或 Tls12

Ssl3AllowWeakEncryption 5

必须使用 SSL 进行加密的 TCP 套接字。 此值支持 SSL 3.0 协议和系统上安装的所有加密密码,NULL 密码除外。 此值允许 RC4 和其他被视为不安全的弱密码。 对于已加入域的计算机,管理员可以配置允许加密的其他限制。

Windows 8.1、Windows Server 2012 R2 及更高版本支持此值。

SslAllowNullEncryption 2

首选使用 SSL 进行加密的 TCP 套接字。 此值首选使用完全加密,但允许 NULL 密码 (基于服务器配置不加密) 。

此值支持 SSL 3.0 和 TLS 1.0 协议以及系统上安装的所有加密密码,包括 NULL 密码。 对于已加入域的计算机,管理员可以配置允许使用密码的其他限制。

NULL 密码不加密,因此此值不提供机密性,但受到完整性保护。

Tls10 6

必须使用 SSL 进行加密的 TCP 套接字。 此值支持 TLS 1.0 协议和系统上安装的所有加密密码,但 RC4、其他弱密码和 NULL 密码除外。 对于已加入域的计算机,管理员可以配置允许使用密码的其他限制。

Windows 8.1、Windows Server 2012 R2 及更高版本支持此值。

Tls11 7

必须使用 SSL 进行加密的 TCP 套接字。 此值支持 TLS 1.1 和 TLS 1.0 协议以及系统上安装的所有加密密码(RC4、其他弱密码和 NULL 密码除外)。 对于已加入域的计算机,管理员可以配置允许使用密码的其他限制。

Windows 8.1、Windows Server 2012 R2 及更高版本支持此值。

Tls12 8

必须使用 SSL 进行加密的 TCP 套接字。 此值支持 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 和其他被视为不安全的弱密码的使用。 这样,开发人员就可以配置跨一组非常广泛的服务器兼容的应用。

对于蓝牙 RFCOMM 套接字,各种枚举值允许应用开发人员控制蓝牙加密的使用。

未加入域的计算机的用户还可以使用注册表设置禁用密码和协议。 有关详细信息,请参阅 如何在 Schannel.dll中限制使用某些加密算法和协议

使用 StreamSocketListener 对象通过蓝牙侦听和绑定到套接字时,SocketProtectionLevel 枚举还允许服务器控制与客户端的安全协议协商。 当通过蓝牙使用 StreamSocketListener 对象时,支持的 SocketProtectionLevel 值为 PlainSocketBluetoothEncryptionAllowNullAuthenticationBluetoothEncryptionWithAuthentication。 当 StreamSocketListener 对象用于侦听和绑定到 TCP 套接字时,唯一支持的 SocketProtectionLevel 值为 PlainSocket

版本历史记录

Windows 版本 SDK 版本 已添加值
1709 16299 未指定

适用于

另请参阅