다음을 통해 공유


KeyContainerPermissionFlags 열거형

정의

주의

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

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

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

public enum class KeyContainerPermissionFlags
[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
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type KeyContainerPermissionFlags = 
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type KeyContainerPermissionFlags = 
type 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 = gcnew KeyContainerPermission( KeyContainerPermissionFlags::Open );
// Create a KeyContainerPermission with the right 
// to open the key container.
KeyContainerPermission keyContainerPerm = new
     KeyContainerPermission(KeyContainerPermissionFlags.Open);
' Create a KeyContainerPermission with the right to open the key container.
Dim keyContainerPerm As New KeyContainerPermission(KeyContainerPermissionFlags.Open)

설명

주의

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

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

주의

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

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

적용 대상