CertGetCertificateChain何时可以返回多个简单的证书链?

时间:2016-06-23 05:50:18

标签: x509certificate cryptoapi code-signing-certificate

为什么CertGetCertificateChain有能力返回多个"简单链#34;?什么是简单的链条以及我应该期待的其他类型的链条?

在测试运行中传递以下证书......

root
  |- parent
    |- my certificate 

......结果是一个简单的链条:

0. my certificate
1. parent
2. root

在什么情况下我们会看到多个简单的链返回?

1 个答案:

答案 0 :(得分:2)

从单个叶证书到多个CA证书有多条路径,可能会出现多个链。

这发生在两个(主要)案例中:

  1. 两个或多个CA证书共享相同的主题和公钥。使用相同的密钥对续订CA证书时会发生这种情况。这将产生两个非常相似的证书,可用作证书路径构建中的节点。它们是不同的,但它们(因为主题和公共密钥是共享的)可以用于验证颁发的证书的签名。

  2. 当交叉认证用于提供(可能)不同根证书的其他路径时。与上述相同,但此选项用于提供到不同CA根的路由。

  3. 单一证书链只是所有可能路径集合的单一路径。