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
- Наследование
- Атрибуты
Поля
AllFlags | 13111 | Создание, расшифровка, удаление и открывание контейнера ключей; экспорт и импорт ключа; подписывание файлов с помощью ключа; просмотр и изменение списка управления доступом для контейнера ключей. |
ChangeAcl | 8192 | Изменяет список управления доступом (ACL) для контейнера ключей. |
Create | 1 | Создание контейнера ключей. При создании контейнера ключей также создается файл на диске. Очень важно удалять любой созданный контейнер ключей, когда в нем больше нет потребности. |
Decrypt | 512 | Расшифровка контейнера ключей. Расшифровка — это привилегированная операция, так как при ней используется закрытый ключ. |
Delete | 4 | Удаление контейнера ключей. Удаление контейнера может послужить основой для атака типа "отказ в обслуживании", так как при этом нельзя использовать зашифрованные или подписанные с помощью ключа файлы. Поэтому удаление — привилегированная операция. |
Export | 32 | Экспорт ключа из контейнера ключей. Возможность экспорта ключа представляет опасность, так как при этом он перестает быть уникальным. |
Import | 16 | Импорт ключа в контейнер ключей. Импорт ключа может представлять такую же опасность, как возможность удалить контейнер, так как при импорте ключа в именованный контейнер ключей находящийся там ключ заменяется. |
NoFlags | 0 | Нет доступа к контейнеру ключей. |
Open | 2 | Откройте контейнер ключей и используйте открытый ключ.
|
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
, и Decrypt
AllFlags
. Сведения о конкретных угрозах, которые может представлять использование этих флагов, см. в описании элементов.