KeyContainerPermissionFlags Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
[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
- Vererbung
- 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.
|
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
, Decrypt
und AllFlags
. Spezifische Bedrohungen, die die Verwendung dieser Flags darstellen kann, finden Sie in den Memberbeschreibungen.