다음을 통해 공유


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 암호화(암호화 없음)를 허용하는 Bluetooth 소켓입니다.

이 값은 Windows 8.1, Windows Server 2012 R2 이상에서 지원됩니다.

BluetoothEncryptionWithAuthentication 4

암호화를 사용해야 하는 Bluetooth 소켓입니다. 이 값은 암호화가 필요하며 NULL 암호화를 허용하지 않습니다.

이 값은 Windows 8.1, Windows Server 2012 R2 이상에서 지원됩니다.

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 를 대신 사용해야 합니다.

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 암호화 사용을 제어할 수 있습니다.

도메인에 가입되지 않은 컴퓨터의 사용자는 레지스트리 설정을 사용하여 암호 및 프로토콜을 사용하지 않도록 설정할 수도 있습니다. 자세한 내용은 Schannel.dll특정 암호화 알고리즘 및 프로토콜 사용을 제한하는 방법을 참조하세요 .

SocketProtectionLevel 열거형을 사용하면 StreamSocketListener 개체를 사용하여 Bluetooth를 통해 소켓을 수신하고 바인딩할 때 서버가 클라이언트와의 보안에 대한 프로토콜 협상을 제어할 수도 있습니다. Bluetooth를 통해 StreamSocketListener 개체를 사용하는 경우 지원되는 SocketProtectionLevel 값은 PlainSocket, BluetoothEncryptionAllowNullAuthentication 또는 BluetoothEncryptionWithAuthentication입니다. StreamSocketListener 개체를 사용하여 TCP 소켓을 수신 대기하고 바인딩하는 경우 지원되는 SocketProtectionLevel 값만 PlainSocket입니다.

버전 기록

Windows 버전 SDK 버전 추가된 값
1709 16299 Unspecified

적용 대상

추가 정보