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

Posted

技术标签:

【中文标题】CertGetCertificateChain 啥时候可以返回多个简单的证书链?【英文标题】:When can CertGetCertificateChain return multiple simple certificate chains?CertGetCertificateChain 什么时候可以返回多个简单的证书链? 【发布时间】:2016-06-23 05:50:18 【问题描述】:

为什么CertGetCertificateChain 可以返回多个“简单链”?什么是简单链,我应该期待哪些其他类型的链?

在通过如下证书的测试运行中...

root
  |- parent
    |- my certificate 

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

0. my certificate
1. parent
2. root

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

【问题讨论】:

【参考方案1】:

如果从单个叶子证书到多个 CA 证书存在多条路径,则可能会出现多条链。

这发生在两种(主要)情况下:

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

    当使用交叉认证来提供到(可能)不同根证书的附加路径时。字面上和上面一样,只是这个选项用于提供到不同 CA 根的路由。

单个证书链只是所有可能路径集合中的单个路径。

【讨论】:

以上是关于CertGetCertificateChain 啥时候可以返回多个简单的证书链?的主要内容,如果未能解决你的问题,请参考以下文章

啥 啥 啥,服务治理是个啥

Flutter 中 required 和 @required 有啥区别。它们之间有啥区别,我们啥时候需要使用它们?

归纳一下html中啥时候需要分号啥时候需要冒号啥时候中间啥都不加而是空格

啥?分布式啥?啥事务?

你啥时候把 Javascript 放在 body 里,啥时候放在 head 里,啥时候使用 doc.load? [复制]

返回啥; (没有价值)是啥意思?