¿Cómo funciona un paquete de cadena de certificado SSL?

He creado una jerarquía de cadenas como esta.

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

Se menciona para crear un paquete de cadena, el más bajo debe ir primero.

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

Pero la verificación falla.

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

Sin embargo, si cambio el orden parece funcionar.

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

Entonces, ¿cuál sería el error aquí?

La cadena después de "gato" se ve como abajo.

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

Más información: Según "http://www.herongyang.com/crypto/openssl_verify_2.html", Realizo la siguiente prueba que funciona.

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

¿Significa eso que todos los enlaces son buenos?

Bien, finalmente descubro que esto no se puede hacer a través de la línea de comandos de OpenSSL (o al menos fácilmente).http://openssl.6102.n7.nabble.com/check-certificate-chain-in-a-pem-file-td43871.html

Respuestas a la pregunta(2)

Su respuesta a la pregunta