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

hoo*_*enz 8 certificate openssl ssl-certificate

假设我从证书开始。

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

openssl x509 -in cert.pem -text -noout
Run Code Online (Sandbox Code Playgroud)

我会得到一些输出,例如ValidityIssuerSubject沿Authority Key IdentifierSubject Key Identifier

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

然后一旦我获得下一个证书,计算下一个证书应该是什么等等。

基本上,我想制定完整的链,并按照 EC2 负载均衡器的正确顺序进行处理。由于网络解决方案似乎不只是给你一个有效的包。他们给你单独的证书,我已经尝试并尝试了很多不同的 EC2 排序,但仍然没有让它工作。我最后的赌注是尝试 openssl 并手动解决这个问题,而不是猜测。

Sha*_*den 8

X509v3 Authority Key Identifieropenssl输出的子键将匹配X509v3 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
Run Code Online (Sandbox Code Playgroud)

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