我如何手动计算我的证书链顺序?

我如何手动计算我的证书链顺序?

假设我从一个证书开始。

使用 openssl 我可以像这样打印出来:

openssl x509 -in cert.pem -text -noout

我将得到一些输出,例如ValidityIssuer以及Subject以及。Authority Key IdentifierSubject Key Identifier

我如何使用这些字段来找出链中的下一个证书?

然后,一旦我获得下一个证书,就确定下一个证书应该是什么等等。

基本上,我想找出完整的链条,并让 EC2 负载均衡器按照正确的顺序运行。因为 Network Solutions 似乎不只是给你一个可以工作的捆绑包。他们给你单独的证书,我试了很多不同的 EC2 排序方法,但仍然没有成功。我最后的选择是尝试 openssl 并手动解决这个问题,而不是猜测。

答案1

子密钥的输出将X509v3 Authority Key Identifier与签名密钥的匹配。opensslX509v3 Subject Key Identifier

例如,对于此站点的 SSL 证书及其父证书:

# openssl x509 -text -noout -in subject.pem
...
        Subject: C=US, ST=NY, L=New York, O=Stack Exchange, Inc., CN=*.stackexchange.com
...
            X509v3 Authority Key Identifier:
                keyid:51:68:FF:90:AF:02:07:75:3C:CC:D9:65:64:62:A2:12:B8:59:72:3B
            X509v3 Subject Key Identifier:
                5A:C1:42:63:C2:62:13:B3:9D:94:84:AA:32:1E:17:CB:6D:A3:86:7B

# openssl x509 -text -noout -in parent.pem
...
        Subject: C=US, O=DigiCert Inc, OU=www.digicert.com, CN=DigiCert SHA2 High Assurance Server CA
...
            X509v3 Subject Key Identifier:
                51:68:FF:90:AF:02:07:75:3C:CC:D9:65:64:62:A2:12:B8:59:72:3B
            X509v3 Authority Key Identifier:
                keyid:B1:3E:C3:69:03:F8:BF:47:01:D4:98:26:1A:08:02:EF:63:64:2B:C3

51:68:FF:90:AF:02:07:75:3C:CC:D9:65:64:62:A2:12:B8:59:72:3B是在子证书上建立的什么证书对其进行了签名,您应该能够使用它来找到正确的颁发机构证书。

答案2

需要注意的是,中间证书并不特定于您的域或证书。因此,每个与您的证书类似的证书都具有完全相同的中间证书。

你可以把它们想象成支票上的路由号码。路由号码是必需的,但它实际上更多地反映了你的银行信息,而不是你的信息。你的帐号,或者在这种情况下是你的证书,是你的唯一身份。

由于中级证书的通用性质,有如下网站:

https://www.ssl2buy.com/wiki/ssl-intermediate-and-root-ca-bundle

所有中间证书均已预先捆绑(并按正确的顺序)给不同的证书颁发者。

相关内容