ssl - 如何使用 openssl 验证 DER 证书?
问题描述
PEM 工作正常
openssl verify -CAfile CA/ca.crt leaf.cert.pem
但生成的 DERopenssl x509 -in leaf.cert.pem -outform der -out leaf.cert.der
无法验证
openssl verify -CAfile CA/ca.crt leaf.cert.der
生产
unable to load certificate
4613703104:error:0909006C:PEM routines:get_name:no start line:crypto/pem/pem_lib.c:745:Expecting: TRUSTED CERTIFICATE
openssl verify
不接受-inform der
其他 openssl 命令。
这是否意味着无法直接验证 DER,我需要将其转换为 PEM 然后进行验证?
解决方案
人们通常使用管道将一个命令的输出通过管道传输到另一个命令。
因此,要验证 DER 格式,您可以执行以下操作:
openssl x509 -inform der -in .\leaf.cert.cer -outform pem | openssl
verify -CAfile CA/ca.crt
这假设“leaf.cert.cer”是 DER 格式,“CA/ca.crt”是 PEM 格式。
分解它:
openssl x509 -inform der -in .\leaf.cert.cer -outform pem
将 DER 证书转换为 PEM 格式并输出到标准输出。
openssl verify -CAfile CA/ca.crt
从标准输入验证 PEM 证书。
然后将两者与管道'|'结合起来 命令将标准输出从第一个命令传送到第二个命令的标准输入。
推荐阅读
- javascript - 从数据中获取值(Typescript)
- python - 如何从 .txt 中查找匹配的单词
- javascript - 为什么每个容器的第一个按钮发送他们的类型值但其他按钮不能发送
- android-support-library - 使用带有 Android 导航 UI 库的 BottomNavigationView 进行导航时从操作栏中删除向上按钮
- javascript - Uncaught SyntaxError: Unexpected token { in JSON at position 96
- php - PHP 关联数组的意外行为——为什么?
- python - 通过消除三个 for 循环来提高时间效率
- php - 编辑WordPress“wp_posts”数据库表上“comment_count”列数据的功能
- javascript - 避免在 Javascript 中使用科学记数法
- angular - 动态改变 Ionic App 的原色