我已经创建了这样的链层次结构.
root-ca ==> signing-ca ==> subordinate-ca ==> server
Run Code Online (Sandbox Code Playgroud)
提到创建链束,最低应该先行.
$ cat server.crt subordinate-ca.crt signing-ca.crt > server.pem
Run Code Online (Sandbox Code Playgroud)
但验证失败了.
$ openssl verify -CAfile root-ca.crt server.pem
error 20 at 0 depth lookup:unable to get local issuer certificate
Run Code Online (Sandbox Code Playgroud)
但是,如果我改变顺序它似乎工作.
$ cat signing-ca.crt subordinate-ca.crt server.crt > server.pem
$ openssl verify -CAfile root-ca.crt server.pem
server.pem: OK
Run Code Online (Sandbox Code Playgroud)
那么这里的错误是什么?
"猫"之后的链条如下所示.
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
更多信息:根据" http://www.herongyang.com/crypto/openssl_verify_2.html ",我执行以下测试.
$ cat signing-ca.crt subordinate-ca.crt > inter.crt
$ openssl verify -CAfile …Run Code Online (Sandbox Code Playgroud)