系统存储位置
系统存储是一个集合,由一个或多个物理同级存储组成。 对于每个系统存储,都有预定义的物理同级存储。 在CERT_SYSTEM_STORE_CURRENT_USER打开系统存储(如 MY)后,存储提供程序调用 CertOpenStore 打开系统存储集合中的每个物理存储。 在打开过程中,使用 CertAddStoreToCollection将这些物理存储添加到系统存储集合中。 这些物理存储中的所有证书都可通过逻辑系统存储集合获得。
对于每个系统存储位置,预定义的系统存储是:
- 我
- 根
- 信任
- 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
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
我 | .违约 |
根 | .Default.LocalMachine .SmartCard |
信任 | .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
预定义的物理存储与这些系统存储相关联,如下所示。
系统存储 | 物理存储 |
---|---|
我 | .违约 |
根 | .Default.AuthRoot .GroupPolicy .企业 .SmartCard |
信任 | .Default.GroupPolicy .企业 |
CA | .Default.GroupPolicy .企业 |
CERT_SYSTEM_STORE_CURRENT_SERVICE
CERT_SYSTEM_STORE_CURRENT_SERVICE系统存储位于以下注册表位置:
HKEY_LOCAL_MACHINE
Software
Microsoft
Cryptography
Services
ServiceName
SystemCertificates
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
我 | .违约 |
根 | .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 小时轮询一次企业目录,并在后台自动下载证书。
与这些系统存储关联的预定义物理存储如下所示。
系统存储 | 物理存储 |
---|---|
我 | .违约 |
根 | .违约 |
信任 | .违约 |
CA | .违约 |
言论
可以使用 CertRegisterPhysicalStore将其他物理存储与系统存储相关联。
CERT_SYSTEM_STORE_SERVICE和CERT_SYSTEM_STORE_USERS存储以传递给 pvPara 的字符串中存储的名称作为前缀来打开 ServiceName\信任 或 。默认\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\CA
- \\ ComputerName\CA
- ComputerName\ServiceName\Trust
- \\ ComputerName\ServiceName\Trust