证书链接
函数 CertAddCertificateLinkToStore、 CertAddCRLLinkToStore 和 CertAddCTLLinkToStore 将指向现有上下文的链接添加到 证书存储中 ,而不是添加这些上下文的副本。 添加指向存储的链接使相同的物理 证书、 CRL 或 CTL 可通过多个不同的存储使用。 在保存原始上下文的存储区以及具有该 上下文 链接的所有其他存储区中,对上下文的扩展属性所做的更改可在保存原始上下文的存储以及具有该上下文链接的所有其他存储中提供。
有关使用 CertAddCertificateLinkToStore 的示例,请参阅 示例 C 程序:证书存储操作。
假设证书 A.1、A.2、A.3 和 A.4 最初位于存储 A 中,而证书 B.1、B.2、B.3 和 B.4 最初位于存储 B 中。
- 此图显示了在存储 B 中添加到证书 A.2 的链接,以及存储区 A 添加到证书 B.2 的链接。
- 证书 A.2 的正本仍在存储区 A 中。B.2 的原始内容仍在商店 B 中。
- 从存储 A 或存储 B 对证书 A.2 或证书 B.2 的扩展属性所做的任何更改都将适用于这两个存储。
- 如果证书 A.3 的副本已生成并存储在存储 B 中,则对从存储 A 创建的原始 A.3 证书的扩展属性所做的任何更改都将在存储 B 中的新副本中不可见。如果对存储 B 中证书 A.3 副本的扩展属性进行了更改,则这些更改不会影响原始 A.3 证书的内容,并且不会在存储 A 中可见。