KeyContainerPermissionFlags Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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.
|
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
, Import
Export
, Sign
, Decrypt
, i AllFlags
. Aby uzyskać konkretne zagrożenia, które mogą przedstawiać użycie tych flag, zobacz opisy elementów członkowskich.