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 需求
裝置系列 |
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中限制特定密碼編譯演算法和通訊協定的使用 。
SocketProtectionLevel 列舉也允許伺服器在使用 StreamSocketListener 物件來接聽和系結至藍牙上的通訊端時,控制用戶端的安全性通訊協定交涉。 當 StreamSocketListener 物件透過藍牙使用時,支援的 SocketProtectionLevel 值為 PlainSocket、 BluetoothEncryptionAllowNullAuthentication或 BluetoothEncryptionWithAuthentication。 當 StreamSocketListener 物件用來接聽和系結至 TCP 通訊端時,唯一支援的 SocketProtectionLevel 值為 PlainSocket。
版本歷程記錄
Windows 版本 | SDK 版本 | 新增值 |
---|---|---|
1709 | 16299 | [未指定] |