使用 openssl 验证 x509 证书是否有效并由受信任的 CA 签名
Verify x509 certificate with openssl to be valid and signed by trusted CAs
在 shell 脚本中,我想使用 openssl 验证 x509 证书,以确保它有效并由我的根 CA 之一签名。我试过这个:
openssl verify -CAfile /path/to/CAfile mycert.pem
它有效,但对于自签名证书,我得到输出:
error 18 at 0 depth lookup:self signed certificate
OK
错误已显示,但它以 OK 结尾且状态代码为 0,因此我的脚本中没有出现错误。
我可以解析输出,但这不是安全生产环境的可靠代码。
我需要一个在自签名证书上产生错误的命令。
编辑
% openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
% cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
适用于 openssl 1.1.1
使用您的代码、虚拟 CA 和虚拟自签名证书,我无法复制您的结果。请更新您的示例或包含 openssl 版本。
最后一个输出行是 error: mycert.pem: verification failed
并且 return 代码是 2 (echo $?
),而不是带有 0 return 代码的 OK 消息。我还收到了您收到的错误 18 自签名消息。我正在使用 openssl 1.1.1i.
错误 18 实际上是一个可靠的错误代码,在 openssl verify 手册页中记录为专门用于自签名证书的代码。
在 shell 脚本中,我想使用 openssl 验证 x509 证书,以确保它有效并由我的根 CA 之一签名。我试过这个:
openssl verify -CAfile /path/to/CAfile mycert.pem
它有效,但对于自签名证书,我得到输出:
error 18 at 0 depth lookup:self signed certificate
OK
错误已显示,但它以 OK 结尾且状态代码为 0,因此我的脚本中没有出现错误。
我可以解析输出,但这不是安全生产环境的可靠代码。
我需要一个在自签名证书上产生错误的命令。
编辑
% openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
% cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.9 (Maipo)
适用于 openssl 1.1.1
使用您的代码、虚拟 CA 和虚拟自签名证书,我无法复制您的结果。请更新您的示例或包含 openssl 版本。
最后一个输出行是 error: mycert.pem: verification failed
并且 return 代码是 2 (echo $?
),而不是带有 0 return 代码的 OK 消息。我还收到了您收到的错误 18 自签名消息。我正在使用 openssl 1.1.1i.
错误 18 实际上是一个可靠的错误代码,在 openssl verify 手册页中记录为专门用于自签名证书的代码。