使用 openssl 验证信任链的问题
Issues verifying trust chain with openssl
我阅读了有关此主题的其他问题,但它们对我没有帮助。
我有一个 root CA 自签名。
[ubuntu@user]$ openssl x509 -in rootca.cer -noout -subject
subject= /O=org/CN=ROOT CA
[ubuntu@user]$ openssl x509 -in rootca.cer -noout -issuer
issuer= /O=org/CN=ROOT CA
我有一个由根 CA 签名的中间 CA。
[ubuntu@user]$ openssl x509 -in intermediateca.cer -noout -subject
subject= /O=org/CN=INTERMEDIATE CA
[ubuntu@user]$ openssl x509 -in intermediateca.cer -noout -noout -issuer
issuer= /O=org/CN=ROOT CA
我还有中间 CA 签署的最终证书。
[ubuntu@user]$ openssl x509 -in finalcert -noout -subject
subject= blabla
[ubuntu@user]$ openssl x509 -in finalcert -noout -noout -issuer
issuer= /O=org/CN=INTERMEDIATE CA
这是我遵循的验证过程。
[ubuntu@user]$ openssl verify -verbose -CAfile rootca.cer intermediateca.cer
intermediateca.cer: OK
[ubuntu@user]$ openssl verify -verbose -CAfile rootca.cer -untrusted intermediateca.cer finalcert.cer
finalcert.cer: blabla
error 20 at 0 depth lookup: unable to get local issuer certificate
为什么我无法正确验证最终证书?
谢谢。
我刚刚注意到 intermediateca.cer 的 public 密钥在签署最终证书后已更改。这就是为什么验证returns出错。
这可以通过中间和最终证书中 public 密钥的散列值来检查。哈希存储在主题密钥标识符和权限密钥标识符密钥中。
我阅读了有关此主题的其他问题,但它们对我没有帮助。
我有一个 root CA 自签名。
[ubuntu@user]$ openssl x509 -in rootca.cer -noout -subject
subject= /O=org/CN=ROOT CA
[ubuntu@user]$ openssl x509 -in rootca.cer -noout -issuer
issuer= /O=org/CN=ROOT CA
我有一个由根 CA 签名的中间 CA。
[ubuntu@user]$ openssl x509 -in intermediateca.cer -noout -subject
subject= /O=org/CN=INTERMEDIATE CA
[ubuntu@user]$ openssl x509 -in intermediateca.cer -noout -noout -issuer
issuer= /O=org/CN=ROOT CA
我还有中间 CA 签署的最终证书。
[ubuntu@user]$ openssl x509 -in finalcert -noout -subject
subject= blabla
[ubuntu@user]$ openssl x509 -in finalcert -noout -noout -issuer
issuer= /O=org/CN=INTERMEDIATE CA
这是我遵循的验证过程。
[ubuntu@user]$ openssl verify -verbose -CAfile rootca.cer intermediateca.cer
intermediateca.cer: OK
[ubuntu@user]$ openssl verify -verbose -CAfile rootca.cer -untrusted intermediateca.cer finalcert.cer
finalcert.cer: blabla
error 20 at 0 depth lookup: unable to get local issuer certificate
为什么我无法正确验证最终证书?
谢谢。
我刚刚注意到 intermediateca.cer 的 public 密钥在签署最终证书后已更改。这就是为什么验证returns出错。
这可以通过中间和最终证书中 public 密钥的散列值来检查。哈希存储在主题密钥标识符和权限密钥标识符密钥中。