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: Access Control List) を変更します。

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 関連の API が使われている場合、CAS の注釈は使われず、エラーが発生します。 開発者は、代わりの手段を見つけてセキュリティ タスクを実現する必要があります。

この列挙は、 クラスのメンバーによって使用されます KeyContainerPermissionAccessEntry

注意事項

これらのフラグの多くは強力な効果を持つ可能性があり、信頼性の高いコードにのみ付与する必要があります。

最も強力なフラグはCreate、、、DeleteImportExportSignDecrypt、および AllFlagsです。 これらのフラグを使用して表示できる特定の脅威については、メンバーの説明を参照してください。

適用対象