Share via


KeyContainerPermissionFlags Enumeration

Definition

Achtung

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

Gibt den Typ des gewährten Schlüsselcontainerzugriffs an.

Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.

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
Vererbung
KeyContainerPermissionFlags
Attribute

Felder

AllFlags 13111

Erstellen, Entschlüsseln, Löschen und Öffnen eines Schlüsselcontainers; Exportieren und Importieren eines Schlüssels; Signieren von Dateien mithilfe eines Schlüssels; Anzeigen und Ändern von Zugriffssteuerungslisten für einen Schlüsselcontainer.

ChangeAcl 8192

Ändern der Zugriffssteuerungsliste (ACL) für einen Schlüsselcontainer.

Create 1

Erstellen eines Schlüsselcontainers.

Beim Erstellen eines Schlüsselcontainers wird außerdem eine Datei auf dem Datenträger erstellt. Es ist sehr wichtig, dass jeder erstellte Schlüsselcontainer entfernt wird, wenn er nicht mehr verwendet wird.

Decrypt 512

Entschlüsseln eines Schlüsselcontainers.

Die Entschlüsselung ist ein privilegierter Vorgang, da sie den privaten Schlüssel verwendet.

Delete 4

Löschen eines Schlüsselcontainers.

Das Löschen eines Schlüsselcontainers kann einen Denial-of-Service-Angriff darstellen, da er die Verwendung von Dateien verhindert, die mit dem Schlüssel verschlüsselt oder signiert sind. Daher ist das Löschen ein privilegierter Vorgang.

Export 32

Exportieren eines Schlüssels aus einem Schlüsselcontainer.

Die Möglichkeit, einen Schlüssel zu exportieren, ist potenziell schädlich, da sie die Exklusivität des Schlüssels aufhebt.

Import 16

Importieren eines Schlüssels in einen Schlüsselcontainer.

Die Möglichkeit, einen Schlüssel zu importieren, kann genauso schädlich sein wie die Möglichkeit, einen Container zu löschen, da der vorhandene Schlüssel durch den Import eines Schlüssels in einen benannten Schlüsselcontainer ersetzt wird.

NoFlags 0

Kein Zugriff auf einen Schlüsselcontainer.

Open 2

Öffnen eines Schlüsselcontainers und Verwenden des öffentlichen Schlüssels.

Open erteilt keine Berechtigung zum Signieren oder Entschlüsseln von Dateien mit dem privaten Schlüssel, aber der Benutzer kann damit Dateisignaturen überprüfen und Dateien verschlüsseln. Nur der Besitzer des Schlüssels kann diese Dateien mit dem privaten Schlüssel entschlüsseln.

Sign 256

Signieren einer Datei mithilfe eines Schlüssels.

Die Möglichkeit, eine Datei zu signieren, ist potenziell schädlich, da sie es einem Benutzer ermöglichen kann, eine Datei mit dem Schlüssel eines anderen Benutzers zu signieren.

ViewAcl 4096

Anzeigen der Zugriffssteuerungsliste (ACL) für einen Schlüsselcontainer.

Beispiele

Das folgende Beispiel zeigt die Verwendung der KeyContainerPermissionFlags Enumeration.

// 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)

Hinweise

Achtung

Die Codezugriffssicherheit (CAS, Code Access Security) ist in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler*innen sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.

Diese Enumeration wird von Membern der KeyContainerPermissionAccessEntry -Klasse verwendet.

Achtung

Viele dieser Flags können starke Auswirkungen haben und sollten nur sehr vertrauenswürdigem Code gewährt werden.

Die leistungsstärksten Flags sind Create, Delete, Import, Export, Sign, Decryptund AllFlags. Spezifische Bedrohungen, die die Verwendung dieser Flags darstellen kann, finden Sie in den Memberbeschreibungen.

Gilt für: