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 暗号 (暗号化なし) を許可する Bluetooth ソケット。 この値は、Windows 8.1、Windows Server 2012 R2 以降でサポートされています。 |
BluetoothEncryptionWithAuthentication | 4 | 暗号化を使用する必要がある Bluetooth ソケット。 この値には暗号化が必要であり、NULL 暗号は許可されません。 この値は、Windows 8.1、Windows Server 2012 R2 以降でサポートされています。 |
PlainSocket | 0 | 暗号化のないプレーン ソケット。 |
Ssl | 1 | Note この値は、Windows 8.1、Windows Server 2012 R2 以降では非推奨です。 暗号化に Secure Sockets Layer (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 やその他の脆弱な暗号の使用を制限できます。 これにより、開発者は、非常に広いサーバー セット間で互換性のあるアプリを構成できます。
Bluetooth RFCOMM ソケットの場合、さまざまな列挙値を使用すると、アプリ開発者は Bluetooth 暗号化の使用を制御できます。
ドメインに参加していないマシンのユーザーは、レジストリ設定を使用して暗号とプロトコルを無効にすることもできます。 詳細については、「 How to Restrict the Use of Certain Cryptographic Algorithms and Protocols in Schannel.dll」を参照してください。
SocketProtectionLevel 列挙を使用すると、 StreamSocketListener オブジェクトを使用して Bluetooth 経由でソケットをリッスンし、ソケットにバインドするときに、サーバーはクライアントとのセキュリティのプロトコル ネゴシエーションを制御することもできます。 StreamSocketListener オブジェクトを Bluetooth 経由で使用する場合、サポートされている SocketProtectionLevel 値は PlainSocket、BluetoothEncryptionAllowNullAuthentication、または BluetoothEncryptionWithAuthentication です。 StreamSocketListener オブジェクトを使用して TCP ソケットをリッスンしてバインドする場合、サポートされている SocketProtectionLevel 値は PlainSocket のみです。
バージョン履歴
Windows のバージョン | SDK バージョン | 追加された値 |
---|---|---|
1709 | 16299 | 指定されていません。 |