系统存储位置

系统存储是一个集合,由一个或多个物理同级存储组成。 对于每个系统存储,都有预定义的物理同级存储。 在CERT_SYSTEM_STORE_CURRENT_USER打开系统存储(如 MY)后,存储提供程序调用 CertOpenStore 打开系统存储集合中的每个物理存储。 在打开过程中,使用 CertAddStoreToCollection将这些物理存储添加到系统存储集合中。 这些物理存储中的所有证书都可通过逻辑系统存储集合获得。

对于每个系统存储位置,预定义的系统存储是:

  • 信任
  • CA

在CERT_SYSTEM_STORE_CURRENT_USER中,还有一个预定义的 UserDS 存储。 计划为此位置使用智能卡存储。

下面是系统存储区,后面还有进一步的注释:

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