KeyContainerPermissionFlags Enumerazione

Definizione

Attenzione

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

Specifica il tipo di accesso consentito al contenitore di chiavi.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

public enum class 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}")]
public enum KeyContainerPermissionFlags
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum KeyContainerPermissionFlags
type 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 = 
Public Enum KeyContainerPermissionFlags
Ereditarietà
KeyContainerPermissionFlags
Attributi

Campi

AllFlags 13111

Consente di creare, decrittografare, eliminare ed aprire un contenitore di chiavi; esportare e importare una chiave; firmare file utilizzando una chiave; visualizzare e modificare l'elenco di controllo di accesso di un contenitore di chiavi.

ChangeAcl 8192

Consente di modificare l'elenco di controllo di accesso (ACL) di un contenitore di chiavi.

Create 1

Consente di creare un contenitore di chiavi.

La creazione di un contenitore di chiavi comporta anche la creazione di un file su disco. È molto importante che qualsiasi contenitore di chiavi creato venga rimosso quando non è più in uso.

Decrypt 512

Consente di decrittografare un contenitore di chiavi.

La decrittografia è un'operazione con privilegi perché usa la chiave privata.

Delete 4

Consente di eliminare un contenitore di chiavi.

L'eliminazione di un contenitore di chiavi può costituire un attacco Denial of Service perché impedisce l'uso di file crittografati o firmati con tale chiave. L'eliminazione è quindi un'operazione con privilegi.

Export 32

Consente di esportare una chiave dal contenitore di chiavi.

La possibilità di esportare una chiave è potenzialmente dannosa, in quanto la chiave diventa non più esclusiva.

Import 16

Consente di importare una chiave in un contenitore di chiavi.

La possibilità di importare una chiave può essere dannosa come la possibilità di eliminare un contenitore, perché l'importazione di una chiave in un contenitore di chiavi denominato sostituisce la chiave esistente.

NoFlags 0

Nessun accesso a un contenitore di chiavi.

Open 2

Consente di aprire un contenitore di chiavi e utilizzare la chiave pubblica.

Open non concede l'autorizzazione per firmare o decrittografare i file usando la chiave privata, ma consente a un utente per verificare le firme dei file e di crittografare i file. Solo il proprietario della chiave è in grado di decrittografare questi file usando la chiave privata.

Sign 256

Consente di firmare un file utilizzando una chiave.

La possibilità di firmare un file è potenzialmente dannosa perché può consentire a un utente di accedere a un file usando la chiave di un altro utente.

ViewAcl 4096

Consente di visualizzare l'elenco di controllo di accesso (ACL) di un contenitore di chiavi.

Esempio

Nell'esempio seguente viene illustrato l'uso dell'enumerazione 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)

Commenti

Attenzione

La sicurezza di accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.

Questa enumerazione viene usata dai membri della KeyContainerPermissionAccessEntry classe.

Attenzione

Molti di questi flag possono avere effetti potenti e devono essere concessi solo al codice altamente attendibile.

I flag più potenti sono Create, ExportImportSignDelete, Decrypte .AllFlags Per minacce specifiche che l'uso di questi flag può presentare, vedere le descrizioni dei membri.

Si applica a