Udostępnij przez


KeyContainerPermissionFlags Wyliczenie

Definicja

Przestroga

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

Określa typ dozwolonego dostępu do kontenera kluczy.

To wyliczenie obsługuje bitową kombinację jego wartości składowych.

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
Dziedziczenie
KeyContainerPermissionFlags
Atrybuty

Pola

AllFlags 13111

Twórca, odszyfrowywanie, usuwanie i otwieranie kontenera kluczy; eksportowanie i importowanie klucza, podpisywanie plików przy użyciu klucza oraz wyświetlanie i zmienianie listy kontroli dostępu dla kontenera kluczy.

ChangeAcl 8192

Zmień listę kontroli dostępu (ACL) dla kontenera kluczy.

Create 1

Twórca kontener klucza.

Utworzenie kontenera kluczy powoduje również utworzenie pliku na dysku. Bardzo ważne jest, aby każdy utworzony kontener kluczy został usunięty, gdy nie jest już używany.

Decrypt 512

Odszyfrowywanie kontenera kluczy.

Odszyfrowywanie jest operacją uprzywilejowaną, ponieważ używa klucza prywatnego.

Delete 4

Usuwanie kontenera kluczy.

Usunięcie kontenera kluczy może stanowić atak typu "odmowa usługi", ponieważ uniemożliwia użycie plików zaszyfrowanych lub podpisanych przy użyciu klucza. W związku z tym usunięcie jest operacją uprzywilejowaną.

Export 32

Wyeksportuj klucz z kontenera kluczy.

Możliwość eksportowania klucza jest potencjalnie szkodliwa, ponieważ usuwa wyłączność klucza.

Import 16

Zaimportuj klucz do kontenera kluczy.

Możliwość importowania klucza może być tak szkodliwa, jak możliwość usunięcia kontenera, ponieważ importowanie klucza do nazwanego kontenera kluczy zastępuje istniejący klucz.

NoFlags 0

Brak dostępu do kontenera kluczy.

Open 2

Otwórz kontener kluczy i użyj klucza publicznego.

Open nie udziela uprawnień do podpisywania lub odszyfrowywania plików przy użyciu klucza prywatnego, ale umożliwia użytkownikowi weryfikowanie podpisów plików i szyfrowanie plików. Tylko właściciel klucza może odszyfrować te pliki przy użyciu klucza prywatnego.

Sign 256

Podpisywanie pliku przy użyciu klucza.

Możliwość podpisania pliku jest potencjalnie szkodliwa, ponieważ może umożliwić użytkownikowi podpisanie pliku przy użyciu klucza innego użytkownika.

ViewAcl 4096

Wyświetl listę kontroli dostępu (ACL) dla kontenera kluczy.

Przykłady

W poniższym przykładzie pokazano użycie KeyContainerPermissionFlags wyliczenia.

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

Uwagi

Przestroga

Zabezpieczenia dostępu kodu (CAS) zostały uznane za przestarzałe we wszystkich wersjach .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.

To wyliczenie jest używane przez elementy członkowskie KeyContainerPermissionAccessEntry klasy.

Przestroga

Wiele z tych flag może mieć zaawansowane efekty i powinny być przyznawane tylko do wysoce zaufanego kodu.

Najbardziej zaawansowane flagi to Create, , Delete, ImportExport, Sign, Decrypt, i AllFlags. Aby uzyskać konkretne zagrożenia, które mogą przedstawiać użycie tych flag, zobacz opisy elementów członkowskich.

Dotyczy