系统存储位置
系统存储是由一个或多个物理同级存储组成的集合。 对于每个系统存储,都有预定义的物理同级存储。 在 CERT_SYSTEM_STORE_CURRENT_USER 打开系统存储(例如 MY)后,存储提供程序调用 CertOpenStore 以打开系统存储集合中的每个物理存储。 在打开过程中,每个物理存储都使用 CertAddStoreToCollection 添加到系统存储集合中。 这些物理存储中的所有证书都可以通过逻辑系统存储集合获得。
对于每个系统存储位置,预定义的系统存储为:
- MY
- Root
- 信任
- CA
在 CERT_SYSTEM_STORE_CURRENT_USER 中,还有一个预定义的 UserDS 存储。 计划为此位置创建一个智能卡商店。
下面是系统存储,后跟进一步说明:
- CERT_SYSTEM_STORE_CURRENT_USER
- CERT_SYSTEM_STORE_LOCAL_MACHINE
- CERT_SYSTEM_STORE_CURRENT_SERVICE
- CERT_SYSTEM_STORE_SERVICES
- CERT_SYSTEM_STORE_USERS
- CERT_SYSTEM_CURRENT_USER_GROUP_POLICY
- CERT_SYSTEM_LOCAL_MACHINE_GROUP_POLICY
- CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE
- 备注
CERT_SYSTEM_STORE_CURRENT_USER
CERT_SYSTEM_STORE_CURRENT_USER系统存储位于以下注册表位置:
HKEY_CURRENT_USER
Software
Microsoft
SystemCertificates
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
MY | .默认 |
Root | .Default.LocalMachine .智能卡 |
信任 | .Default.GroupPolicy .LocalMachine |
CA | .Default.GroupPolicy .LocalMachine |
UserDS | .UserCertificate |
CERT_SYSTEM_STORE_LOCAL_MACHINE
CERT_SYSTEM_STORE_LOCAL_MACHINE系统存储位于以下注册表位置:
HKEY_LOCAL_MACHINE
Software
Microsoft
SystemCertificates
预定义的物理存储与这些系统存储相关联,如下所示。
系统存储 | 物理存储 |
---|---|
MY | .默认 |
Root | .Default.AuthRoot .GroupPolicy .企业 .智能卡 |
信任 | .Default.GroupPolicy .企业 |
CA | .Default.GroupPolicy .企业 |
CERT_SYSTEM_STORE_CURRENT_SERVICE
CERT_SYSTEM_STORE_CURRENT_SERVICE系统存储位于以下注册表位置:
HKEY_LOCAL_MACHINE
Software
Microsoft
Cryptography
Services
ServiceName
SystemCertificates
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
MY | .默认 |
Root | .Default.LocalMachine |
信任 | .Default.LocalMachine |
CA | .Default.LocalMachine |
CERT_SYSTEM_STORE_SERVICES
CERT_SYSTEM_STORE_SERVICES系统存储位于以下注册表位置:
HKEY_LOCAL_MACHINE
Software
Microsoft
Cryptography
Services
ServiceName
SystemCertificates
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
ServiceName\MY | .默认 |
ServiceName\Root | .Default.LocalMachine |
ServiceName\Trust | .Default.LocalMachine |
ServiceName\CA | .Default.LocalMachine |
CERT_SYSTEM_STORE_USERS
CERT_SYSTEM_STORE_USERS系统存储位于以下注册表位置:
HKEY_USERS
UserName
Software
Microsoft
SystemCertificates
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
userid\MY | .Default.LocalMachine |
userid\Root | .Default.LocalMachine |
userid\Trust | .Default.LocalMachine |
userid\CA | .Default.LocalMachine |
CERT_SYSTEM_CURRENT_USER_GROUP_POLICY
CERT_SYSTEM_CURRENT_USER_GROUP_POLICY系统存储位于以下注册表位置:
HKEY_CURRENT_USER
Software
Policy
Microsoft
SystemCertificates
CERT_SYSTEM_LOCAL_MACHINE_GROUP_POLICY
CERT_SYSTEM_LOCAL_MACHINE_GROUP_POLICY系统存储位于以下注册表位置:
HKEY_LOCAL_MACHINE
Software
Policy
Microsoft
SystemCertificates
CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE
CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE包含企业中跨域共享并从全局企业目录下载的证书。 若要同步客户端的企业存储,企业目录每 8 小时轮询一次,并在后台自动下载证书。
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
MY | .默认 |
Root | .默认 |
信任 | .默认 |
CA | .默认 |
备注
可以使用 CertRegisterPhysicalStore 将其他物理存储与系统存储相关联。
CERT_SYSTEM_STORE_SERVICE和CERT_SYSTEM_STORE_USERS存储是通过在传递给 pvPara 的字符串中使用服务或用户名(如 ServiceName\Trust 或 )作为前缀来打开的 。默认\MY。 CERT_SYSTEM_STORE_SERVICES或CERT_SYSTEM_STORE_USERS位置可以使用当前服务或用户的文本 安全标识符 (SID) 在CERT_SYSTEM_CURRENT_SERVICE或CERT_SYSTEM_STORE_CURRENT_USER中打开相同的存储。
在计算机启动或用户登录期间,CERT_SYSTEM_STORE_USER_GROUP_POLICY中的存储和网络设置中的CERT_SYSTEM_LOCAL_MACHINE_GROUP_POLICY会从组策略模板 (GPT) 下载到客户端计算机。 当管理员在域服务器上更改 GPT 时,启动或登录后,可以在客户端计算机上更新这些存储。 CertControlStore 函数允许在上述任一位置的存储发生更改时通知应用程序。
可以远程打开以下系统存储位置:
- CERT_SYSTEM_STORE_LOCAL_MACHINE
- CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
- CERT_SYSTEM_STORE_SERVICES
- CERT_SYSTEM_STORE_USERS
系统存储位置远程打开,方法是在传递给 pvPara 的字符串中将存储名称作为计算机名称的前缀。 远程系统存储名称的示例包括:
- ComputerName\约
- \\ ComputerName\约
- ComputerName\ServiceName\信任
- \\ ComputerName\ServiceName\信任