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(Secure Sockets Layer)을 사용해야 하는 TCP 소켓입니다. 이 값은 암호화가 필요하며 NULL 암호화(암호화 없음)를 허용하지 않습니다. 이 값은 SSL 3.0 및 TLS 1.0 프로토콜과 NULL 암호화를 제외한 시스템에 설치된 모든 암호화를 지원합니다. 도메인에 가입된 컴퓨터의 경우 관리자는 암호화가 허용되는 추가 제한을 구성할 수 있습니다. 이 값은 RC4 및 기타 약한 암호화가 허용되므로 안전하지 않은 것으로 간주되므로 사용되지 않는 것으로 표시됩니다. 대상 서버가 RC4 또는 다른 약한 암호만 지원하지 않는 한 소켓은 Tls10, Tls11 또는 Tls12 를 대신 사용해야 합니다. |
| SslAllowNullEncryption | 2 | 암호화에 SSL을 사용하는 것을 선호하는 TCP 소켓입니다. 이 값은 전체 암호화를 사용하는 것을 선호하지만 서버 구성에 따라 NULL 암호화(암호화 없음)를 허용합니다. 이 값은 SSL 3.0 및 TLS 1.0 프로토콜과 NULL 암호화를 포함하여 시스템에 설치된 모든 암호화를 지원합니다. 도메인에 가입된 컴퓨터의 경우 관리자는 암호화가 허용되는 추가 제한을 구성할 수 있습니다. NULL 암호화는 암호화를 수행하지 않으므로 이 값은 기밀성을 제공하지 않지만 무결성이 보호됩니다. |
| BluetoothEncryptionAllowNullAuthentication | 3 | 암호화를 사용하는 것을 선호하지만 대상 서버의 구성에 따라 NULL 암호화(암호화 없음)를 허용하는 Bluetooth 소켓입니다. 이 값은 Windows 8.1, Windows Server 2012 R2 이상에서 지원됩니다. |
| BluetoothEncryptionWithAuthentication | 4 | 암호화를 사용해야 하는 Bluetooth 소켓입니다. 이 값은 암호화가 필요하며 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 및 기타 약한 암호의 사용을 제한할 수 있습니다. 이를 통해 개발자는 매우 광범위한 서버 집합에서 호환되는 앱을 구성할 수 있습니다.
Bluetooth RFCOMM 소켓의 경우 다양한 열거형 값을 통해 앱 개발자가 Bluetooth 암호화 사용을 제어할 수 있습니다.
도메인에 가입되지 않은 컴퓨터의 사용자는 레지스트리 설정을 사용하여 암호 및 프로토콜을 사용하지 않도록 설정할 수도 있습니다. 자세한 내용은 Schannel.dll특정 암호화 알고리즘 및 프로토콜 사용을 제한하는 방법을 참조하세요.
또한 SocketProtectionLevel 열거형을 사용하면 StreamSocketListener 개체를 사용하여 Bluetooth를 통해 소켓을 수신하고 바인딩할 때 서버가 클라이언트와의 보안에 대한 프로토콜 협상을 제어할 수 있습니다. StreamSocketListener 개체가 Bluetooth를 통해 사용되는 경우 지원되는 SocketProtectionLevel 값은 PlainSocket, BluetoothEncryptionAllowNullAuthentication 또는 BluetoothEncryptionWithAuthentication입니다. StreamSocketListener 개체를 사용하여 TCP 소켓을 수신 대기하고 바인딩하는 경우 지원되는 유일한 SocketProtectionLevel 값은 PlainSocket입니다.
버전 기록
| Windows 버전 | SDK 버전 | 추가된 값 |
|---|---|---|
| 1709 | 16299 | 지정되지 않음 |