KeyContainerPermissionFlags Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
[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
- Ereditarietà
- 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.
|
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 dall'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 metodi alternativi per eseguire attività di sicurezza.
Questa enumerazione viene utilizzata dai membri della KeyContainerPermissionAccessEntry classe .
Attenzione
Molti di questi flag possono avere effetti potenti e devono essere concessi solo a codice altamente attendibile.
I flag più potenti sono Create
, , Delete
Import
, Export
, Sign
, Decrypt
e AllFlags
. Per minacce specifiche che l'uso di questi flag può presentare, vedere le descrizioni dei membri.