openssl - 使用 openssl 验证 x509 证书是否有效并由受信任的 CA 签名
问题描述
在 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
,返回代码是 2 ( echo $?
),而不是返回代码为 0 的 OK 消息。我还收到您收到的错误 18 自签名消息。我正在使用 openssl 1.1.1i。
错误 18 实际上是一个健壮的错误代码,并在 openssl verify 手册页中记录为专门用于自签名证书的代码。
推荐阅读
- javascript - 反应酶单元测试错误
- c# - NET Core Cors 引发错误
- c# - 在 Bot Framework 中使用 FormFlow 对话框
- python - 如何在seaborn lineplot上绘制虚线?
- google-analytics - 使用 gtag 发送自定义 utm_source?
- ckeditor - CKEditor:允许段落内的跨度标签
- ruby-on-rails - 当模型名称带有“che”后缀时,控制器的变量会被修改
- php - 使用 $variable 时 mb_detect_encoding 不起作用
- r - 如何在r中将一列分成两列
- java - 无法在春季启动测试中模拟 persistenceContext