KeyContainerPermissionFlags 열거형

정의

주의

Code Access Security is not supported or honored by the runtime.

허용되는 키 컨테이너 액세스 형식을 지정합니다.

이 열거형은 멤버 값의 비트 조합을 지원합니다.

[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum KeyContainerPermissionFlags
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum KeyContainerPermissionFlags
public enum KeyContainerPermissionFlags
상속
KeyContainerPermissionFlags
특성

필드

AllFlags 13111

키 컨테이너를 만들고 삭제하거나 열고, 키 컨테이너의 암호를 해독하고, 키를 내보내거나 가져오고, 키를 사용하여 파일에 서명하고, 키 컨테이너의 액세스 제어 목록을 보거나 변경합니다.

ChangeAcl 8192

키 컨테이너의 ACL(액세스 제어 목록)을 변경합니다.

Create 1

키 컨테이너를 만듭니다.

키 컨테이너를 만들면 디스크에 파일이 생성됩니다. 생성된 키 컨테이너는 더 이상 사용되지 않는 경우 제거해야 합니다.

Decrypt 512

키 컨테이너의 암호를 해독합니다.

암호 해독은 프라이빗 키를 사용하므로 권한이 필요한 작업입니다.

Delete 4

키 컨테이너를 삭제합니다.

키 컨테이너를 삭제하면 키로 암호화 또는 서명된 파일을 사용할 수 없게 되므로 서비스 거부 공격이 발생할 수 있습니다. 따라서 삭제에는 권한이 필요합니다.

Export 32

키 컨테이너에서 키를 내보냅니다.

키 내보내기 기능은 키의 독점성을 제거하므로 위험할 수 있습니다.

Import 16

키를 키 컨테이너로 가져옵니다.

키 가져오기 기능은 키를 명명된 키 컨테이너로 가져오면 기존 키를 대체하게 되므로 컨테이너 삭제 기능만큼 위험할 수 있습니다.

NoFlags 0

키 컨테이너에 액세스할 수 없습니다.

Open 2

키 컨테이너를 열고 공개 키를 사용합니다.

Open은 프라이빗 키를 사용하여 파일에 서명하거나 암호를 해독할 수 있는 권한을 제공하지 않지만, 사용자는 이 기능을 사용하여 파일 시그니처를 확인하고 파일을 암호화할 수 있습니다. 키의 소유자만 프라이빗 키를 사용하여 해당 파일의 암호를 해독할 수 있습니다.

Sign 256

키를 사용하여 파일에 서명합니다.

파일 서명 기능을 이용하면 다른 사용자의 키를 사용하여 파일에 서명할 수 있으므로 위험할 수 있습니다.

ViewAcl 4096

키 컨테이너의 ACL(액세스 제어 목록)을 봅니다.

예제

다음 예제에서는 사용 된 KeyContainerPermissionFlags 열거형입니다.

// Create a KeyContainerPermission with the right 
// to open the key container.
KeyContainerPermission keyContainerPerm = new
     KeyContainerPermission(KeyContainerPermissionFlags.Open);

설명

주의

CAS(코드 액세스 보안)는 .NET Framework 및 .NET의 모든 버전에서 더 이상 사용되지 않습니다. 최신 버전의 .NET은 CAS 주석을 준수하지 않으며 CAS 관련 API를 사용하는 경우 오류가 발생합니다. 개발자는 보안 작업을 수행하는 대체 수단을 찾아야 합니다.

이 열거형은 클래스의 멤버에서 KeyContainerPermissionAccessEntry 사용됩니다.

주의

이러한 플래그의 대부분은 강력한 효과를 가질 수 있으며 매우 신뢰할 수 있는 코드에만 부여되어야 합니다.

가장 강력한 플래그는 , , Delete, , , 및 입니다CreateAllFlags. DecryptSignExportImport 이러한 플래그의 사용이 표시할 수 있는 특정 위협은 멤버 설명을 참조하세요.

적용 대상

제품 버전 (사용되지 않음)
.NET (6, 7, 8, 9)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0
Windows Desktop 3.0, 3.1 (5, 6, 7, 8, 9)