Поделиться через


KeyContainerPermissionFlags Перечисление

Определение

Внимание!

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

Задает разрешенный тип доступа к контейнеру ключей.

Это перечисление поддерживает побитовую комбинацию значений его членов.

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
Наследование
KeyContainerPermissionFlags
Атрибуты

Поля

AllFlags 13111

Создание, расшифровка, удаление и открывание контейнера ключей; экспорт и импорт ключа; подписывание файлов с помощью ключа; просмотр и изменение списка управления доступом для контейнера ключей.

ChangeAcl 8192

Изменяет список управления доступом (ACL) для контейнера ключей.

Create 1

Создание контейнера ключей.

При создании контейнера ключей также создается файл на диске. Очень важно удалять любой созданный контейнер ключей, когда в нем больше нет потребности.

Decrypt 512

Расшифровка контейнера ключей.

Расшифровка — это привилегированная операция, так как при ней используется закрытый ключ.

Delete 4

Удаление контейнера ключей.

Удаление контейнера может послужить основой для атака типа "отказ в обслуживании", так как при этом нельзя использовать зашифрованные или подписанные с помощью ключа файлы. Поэтому удаление — привилегированная операция.

Export 32

Экспорт ключа из контейнера ключей.

Возможность экспорта ключа представляет опасность, так как при этом он перестает быть уникальным.

Import 16

Импорт ключа в контейнер ключей.

Импорт ключа может представлять такую же опасность, как возможность удалить контейнер, так как при импорте ключа в именованный контейнер ключей находящийся там ключ заменяется.

NoFlags 0

Нет доступа к контейнеру ключей.

Open 2

Откройте контейнер ключей и используйте открытый ключ.

Open не предоставляет разрешение для подписывания и расшифровки файлов с помощью закрытого ключа, но разрешает пользователю проверять подписи файлов и шифровать файлы. Только владелец ключа может расшифровать эти файлы с помощью закрытого ключа.

Sign 256

Подпишите файл, используя ключ.

Возможность подписывать файл представляет опасность, потому что при этом пользователь может подписать файл с помощью ключа другого пользователя.

ViewAcl 4096

Просматривает список управления доступом (ACL) для контейнера ключей.

Примеры

В следующем примере показано использование перечисления 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)

Комментарии

Внимание!

Безопасность доступа к коду (CAS) не рекомендуется использовать во всех версиях платформа .NET Framework и .NET. В последних версиях .NET заметки CAS не учитываются и при использовании API, связанных с CAS, возникают ошибки. Разработчикам следует искать альтернативные средства для выполнения задач безопасности.

Это перечисление используется членами KeyContainerPermissionAccessEntry класса .

Внимание!

Многие из этих флагов могут иметь мощные эффекты и должны предоставляться только коду с высоким уровнем доверия.

Наиболее мощными флагами являются Create, Delete, Import, Export, Sign, и DecryptAllFlags. Сведения о конкретных угрозах, которые может представлять использование этих флагов, см. в описании элементов.

Применяется к