创建、签名和存储 CTL

以下过程创建一个签名 的证书信任列表 (CTL) ,并将其保存到 证书存储中

创建和签名 CTL

  1. 创建要存储在 CTL 中的项数组。 对于受信任的证书,这必须是受信任证书的 SHA1 或 MD5 哈希。
  2. 初始化包含刚刚创建的项数组的 CTL_INFO 结构。
  3. 初始化 CMSG_SIGNED_ENCODE_INFO 结构。
  4. 调用 CryptMsgEncodeAndSignCTL。 此函数调用返回一个指针,该指针指向 PKCS #7 格式的带符号的 CTL () ,其中包含在步骤 1 中创建的项列表。

将 CTL 添加到证书存储

  1. 获取指向已签名和编码的 CTL 的指针。
  2. 使用调用 CertOpenStore 打开目标证书存储。
  3. 调用 CertAddEncodedCTLToStore