私钥缓存常量
以下常量用于表示由基于 Microsoft 软件的 CSP 控制 私钥 缓存的注册表项。
常量/值 | 说明 |
---|---|
|
私钥缓存注册表项的 HKEY_LOCAL_MACHINE 根目录下的路径。 |
以下常量用于标识注册表值,这些值控制基于 Microsoft 软件的 CSP 为特定进程全局缓存私钥。
常量/值 | 说明 |
---|---|
|
szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS注册表项下的REG_DWORD值,该值指定单个进程一次可缓存的最大私钥数。 每当读取存储的私钥时,将执行此检查。 如果超出最大数目,则会从缓存中删除最近使用的最少键。 如果此值为零,则不缓存任何密钥。 如果此值不存在,则 使用cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT 值作为默认值。 如果当前在开放上下文中引用了从缓存中删除的私钥,则在下次尝试使用该密钥时,将从存储中读取该密钥。 Windows Server 2003 和 Windows XP SP1 及更早版本: 不支持此注册表值。 |
|
如果未指定任何值 ,则为szPRIV_KEY_CACHE_MAX_ITEMS 注册表项的默认值。 |
|
szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS注册表项下的REG_DWORD值,该值指定任何缓存的私钥的最大期限(以秒为单位)。 每当使用或读取存储的私钥时,将执行此检查。 如果自上次清除以来已过此时间量,则将从缓存中删除自上次清除以来未引用的所有缓存密钥。 如果此值不存在,则 使用cPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT 值作为默认值。 如果当前在开放上下文中引用了从缓存中清除的私钥,则在下次尝试使用该密钥时,将从存储中读取该密钥。 Windows Server 2003 和 Windows XP SP1 及更早版本: 不支持此注册表值。 |
|
如果未指定任何值, 则为szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS 注册表项的默认值。 此值相当于一天。 |
以下常量用于标识注册表值,这些值控制单个基于 Microsoft 软件的 加密服务提供商 的私钥缓存 (CSP) 实例。
常量/值 | 说明 |
---|---|
|
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography\Protect注册表项下的REG_DWORD值,该值指定是否在基于 Microsoft 软件的 CSP 中为受密码保护的密钥启用密码缓存。 如果此值为 0,则取消标记密码缓存,并且每次使用受密码保护的密钥时都会提示用户输入密码。 任何其他值或缺少此值表示将缓存密码。 在这种情况下,对于每个此类密钥,每个进程仅提示用户一次。 |
|
szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS注册表项下的REG_DWORD值,该值指定是否启用私钥缓存。 如果此值为 1,则启用私钥缓存。 任何其他值(或缺少此值)表示私钥缓存已禁用。 Windows Vista SP1、Windows Vista 和 Windows XP: 不支持此注册表值。 |
|
szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS注册表项下的REG_DWORD值,该值指定任何缓存的私钥的最大期限(以秒为单位)。 Windowsxp: 不支持此注册表值。 |
备注
szKEY_CACHE_SECONDS与szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS值之间的差异如下所示:
szKEY_CACHE_SECONDS
- 此值仅适用于特定 CSP。 释放 CSP 后,也会释放 CSP 的缓存。
- 仅当尝试使用具有特定上下文句柄的特定私钥时,才应用此值。
szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS
- 此值适用于进程中的所有 CSP。 即使释放 CSP,也不会释放此缓存。
- 只要在单个进程中使用或从存储中读取任何存储的私钥,此值就适用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|