KeyContainerPermissionFlags 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
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 中弃用。 如果使用与 CAS 相关的 API,最新版本的 .NET 不会遵循 CAS 注释,并会生成错误。 开发人员应寻求用于完成安全任务的替代方法。
类的成员 KeyContainerPermissionAccessEntry 使用此枚举。
注意
其中许多标志可以具有强大的效果,并且应仅授予高度受信任的代码。
最强大的标志是 Create
、Delete
、、Import
、Export
Sign
、 Decrypt
和 AllFlags
。 有关使用这些标志可能呈现的特定威胁,请参阅成员说明。