Jak działa pakiet łańcucha certyfikatów SSL?

Stworzyłem taką hierarchię łańcuchów.

root-ca ==> signing-ca ==> subordinate-ca ==> server

Wspomniano o utworzeniu wiązki łańcucha, najniższa powinna iść pierwsza.

$ cat server.crt subordinate-ca.crt signing-ca.crt > server.pem

Ale weryfikacja kończy się niepowodzeniem.

$ openssl verify -CAfile root-ca.crt server.pem
error 20 at 0 depth lookup:unable to get local issuer certificate

Jeśli jednak zmienię kolejność, wydaje się działać.

$ cat signing-ca.crt subordinate-ca.crt server.crt > server.pem
$ openssl verify -CAfile root-ca.crt server.pem
server.pem: OK

Więc jaki byłby błąd tutaj?

Łańcuch za „kotem” wygląda jak poniżej.

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Więcej informacji: zgodnie z „http://www.herongyang.com/crypto/openssl_verify_2.html„Wykonuję następujący test, który działa.

$ cat signing-ca.crt subordinate-ca.crt > inter.crt
$ openssl verify -CAfile root-ca.crt -untrusted inter.crt server.crt
server.crt: OK

Czy to oznacza, że ​​wszystkie linki są dobre?

OK, w końcu odkryłem, że nie można tego zrobić za pomocą wiersza poleceń OpenSSL (lub przynajmniej łatwo).http://openssl.6102.n7.nabble.com/check-certificate-chain-in-a-pem-file-td43871.html

questionAnswers(2)

yourAnswerToTheQuestion