CspProviderFlags 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定修改加密服务提供程序 (CSP) 行为的标志。
此枚举支持其成员值的按位组合。
public enum class CspProviderFlags
[System.Flags]
public enum CspProviderFlags
[System.Flags]
[System.Serializable]
public enum CspProviderFlags
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum CspProviderFlags
[<System.Flags>]
type CspProviderFlags =
[<System.Flags>]
[<System.Serializable>]
type CspProviderFlags =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CspProviderFlags =
Public Enum CspProviderFlags
- 继承
- 属性
字段
CreateEphemeralKey | 128 | 创建一个在关闭关联的 Rivest-Shamir-Adleman (RSA) 对象时释放的临时密钥。 如果希望密钥与 RSA 对象无关,则不要使用此标志。 |
NoFlags | 0 | 不指定任何设置。 |
NoPrompt | 64 | 阻止 CSP 显示此上下文的任何用户界面 (UI)。 |
UseArchivableKey | 16 | 允许导出密钥以便存档或恢复。 |
UseDefaultKeyContainer | 2 | 使用默认密钥容器中的密钥信息。 |
UseExistingKey | 8 | 使用当前密钥的密钥信息。 |
UseMachineKeyStore | 1 | 使用计算机的密钥存储区中的密钥信息。 |
UseNonExportableKey | 4 | 使用无法导出的密钥信息。 |
UseUserProtectedKey | 32 | 当某些操作尝试使用密钥时,通过对话框或另一种方法通知用户。 此标志与 NoPrompt 标志不兼容。 |
注解
重要
标志 CreateEphemeralKey
为临时密钥提供了更可靠的清理。 如果未使用此标志,则公共语言运行时 (CLR) 会在创建 RSA 对象时生成随机命名的密钥。 完成或释放对象时,将删除密钥。 模拟生效时,不显式调用 Dispose
可能会导致问题。 例如,如果使用模拟,创建 RSA 对象,但不释放它,则终结器线程 ((不模拟) 可能无法删除密钥,然后引发异常。 此异常未经处理,可能会终止进程。 分配给密钥的资源不会恢复,从而导致内存泄漏。 此 KeyContainerPermission 标志将抑制需求。