Как работает пакет цепочек сертификатов SSL?
мы создали цепную иерархию, подобную этой.
root-ca ==> signing-ca ==> subordinate-ca ==> server
Упоминается, что для создания цепочки расслоений нужно идти первым.
$ cat server.crt subordinate-ca.crt signing-ca.crt > server.pem
Но проверка не проходит.
$ openssl verify -CAfile root-ca.crt server.pem
error 20 at 0 depth lookup:unable to get local issuer certificate
Однако, если я изменю порядок, это, кажется, работает.
$ cat signing-ca.crt subordinate-ca.crt server.crt > server.pem
$ openssl verify -CAfile root-ca.crt server.pem
server.pem: OK
Так в чем здесь ошибка?
Цепочка после "кошка" выглядит как ниже.
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Больше информации: согласноhttp://www.herongyang.com/crypto/openssl_verify_2.html»Я выполняю следующий тест, который работает.
$ cat signing-ca.crt subordinate-ca.crt > inter.crt
$ openssl verify -CAfile root-ca.crt -untrusted inter.crt server.crt
server.crt: OK
Означает ли это, что все ссылки хороши?
Хорошо, я наконец обнаружил, что это не может быть сделано через командную строку OpenSSL (или, по крайней мере, легко).http://openssl.6102.n7.nabble.com/check-certificate-chain-in-a-pem-file-td43871.html