该证书最初是作为自签名证书生成的。自签名证书是其颁发者(签名者)与主体(其公钥由该证书验证的实体)相同的证书。如果所有者向 CA 发送证书签名请求(CSR ),然后输入响应,自签名证书将被证书链替换。链的底部是由 CA 颁发的证书(回复),用于验证主题的公钥。证书链中的下一个证书是验证 CA 公钥的证书。通常,这是一个自签名证书(即来自 CA 的证书,用于验证自己的公钥),也是证书链中的最后一个证书。
在其他情况下,CA 可能会返回一个证书链。在这种情况下,链底部的证书是相同的(由 CA 颁发的证书,用于验证密钥条目的公钥),但是链中的第二个证书是由其他 CA 颁发的证书,用于验证您向其发送 CSR 的 CA 的公钥。然后,链中的下一个证书是用于验证第二个 CA 的密钥的证书,依此类推,直到达到自签名根证书。因此,链中的每个证书(第一个证书之后的证书)都需要验证链中前一个证书的签名者的公钥。
Web 浏览器已经预先配置了一组浏览器自动信任的根 CA 证书。来自其他证书颁发机构的所有证书都必须附有证书链,以验证这些证书的有效性。证书链是由一系列 CA 证书颁发的一系列证书,最终以根 CA 证书结束。
证书链组成
证书链由两个链接组成-信任锚(CA 证书)链接和签名证书链接。自签名证书只有一个链接长,信任锚链接就是签名证书本身。
证书链可以有任意链接长度,所以在三链接链中,信任锚证书的 CA 链接可以签署中间证书;中间证书的所有者可以用自己的私钥签署另一个证书。CertPath API 可用于遍历证书链以验证有效性,或者构建这些信任链。
签名原理
在验证我们的 SSL 证书的有效性时,我们会逐层寻找颁发者的证书,直到自签名的根证书,然后用对应的公钥验证下一个数字签名的正确性。
转载请注明:汇站网 » SSL 证书的证书链