SocketProtectionLevel 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指定 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 需求
| 規格需求 | Description |
|---|---|
| 裝置系列 |
Windows 10 (已於 10.0.10240.0 引進)
|
| API contract |
Windows.Foundation.UniversalApiContract (已於 v1.0 引進)
|
| 應用程式功能 |
bluetooth.rfcomm
|
欄位
| 名稱 | 值 | Description |
|---|---|---|
| PlainSocket | 0 | 一個沒有加密的普通插槽。 |
| Ssl | 1 | 備註 此值在 Windows 8.1、Windows Server 2012 R2 及之後版本中已不再被棄用。 必須使用安全套接字層(SSL)進行加密的 TCP 套接字。 此值需要加密,且絕不允許使用空密碼(NULL CIPHER)。 此值支援 SSL 3.0 與 TLS 1.0 協定,以及系統上安裝的所有加密密碼,唯獨 NULL 密碼除外。 對於網域加入的機器,管理員可以設定額外的限制,限制允許使用的密碼。 此值被標記為已棄用,因為被認為不安全,且允許使用RC4及其他弱密碼。 除非目標伺服器只支援 RC4 或其他弱密碼,否則 socket 應該使用 Tls10、 Tls11 或 Tls12 。 |
| SslAllowNullEncryption | 2 | 一個偏好使用 SSL 加密的 TCP 套接字。 此值偏好使用完整加密,但允許基於伺服器配置的 NULL 密碼(無加密)。 此值支援 SSL 3.0 與 TLS 1.0 協定,以及系統上安裝的所有加密密碼,包括 NULL 密碼。 對於網域加入的機器,管理員可以設定額外的限制,限制允許使用的密碼。 NULL 密碼不進行加密,因此此值不提供機密性,但具有完整性保護。 |
| BluetoothEncryptionAllowNullAuthentication | 3 | 藍牙插槽偏好使用加密方式,但允許基於目標伺服器配置的 NULL 密碼(無加密)。 Windows 8.1、Windows Server 2012 R2 及更新版本支援此值。 |
| BluetoothEncryptionWithAuthentication | 4 | 一個必須使用加密的藍牙插座。 此值需要加密,且絕不允許 NULL 密碼。 Windows 8.1、Windows Server 2012 R2 及更新版本支援此值。 |
| Ssl3AllowWeakEncryption | 5 | 一個必須使用 SSL 加密的 TCP 套接字。 此值支援 SSL 3.0 協定及系統上所有加密加密器,唯獨 NULL 密碼除外。 此值允許使用 RC4 及其他被視為不安全的弱密碼。 對於網域加入的機器,管理員可以設定額外的限制,限制允許使用的密碼。 Windows 8.1、Windows Server 2012 R2 及更新版本支援此值。 |
| 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 及更新版本支援此值。 |
| Unspecified | 9 | 保護等級未明確說明。 |
| Tls13 | 10 |
備註
SocketProtectionLevel 枚舉允許用戶端在使用 StreamSocket 物件時,控制與伺服器協商安全方案的協定。
對於 TCP 套接字,各種枚舉值允許應用程式開發者控制 TLS 1.2、TLS 1.1、TLS 1.0 及 SSL 3.0 協定的使用,並限制使用 RC4 及其他被認為不安全的弱密碼。 這讓開發者能夠配置相容於非常廣泛的伺服器群的應用程式。
對於藍牙 RFCOMM 插座,各種列舉值允許應用程式開發者控制藍牙加密的使用。
非域加入機器的使用者也可以透過登錄檔設定來停用密碼和協定。 欲了解更多資訊,請參閱 《如何限制某些密碼演算法與協定的使用》Schannel.dll。
SocketProtectionLevel 枚舉也允許伺服器在使用 StreamSocketListener 物件透過藍牙監聽並綁定套接字時,控制與用戶端的協定協商安全性。 當 StreamSocketListener 物件透過藍牙使用時,支援的 SocketProtectionLevel 值為 PlainSocket、 BluetoothEncryptionAllowNullAuthentication 或 BluetoothEncryptionWithAuthentication。 當使用 StreamSocketListener 物件來監聽並綁定 TCP socket 時,唯一支援的 SocketProtectionLevel 值為 PlainSocket。
版本歷程記錄
| Windows版本 | SDK 版本 | 附加價值 |
|---|---|---|
| 1709 | 16299 | 未指定 |