CspProviderFlags 枚举

定义

指定修改加密服务提供程序 (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
继承
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 标志将抑制需求。

适用于

另请参阅