You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分openssl命令输出的多份证书 实现批量解码处理

openssl多证书提取awk处理方案

你需要的command2 awk处理逻辑如下:

awk '/-----BEGIN CERTIFICATE-----/{cert_flag=1} cert_flag{print} /-----END CERTIFICATE-----{cert_flag=0}'

实现逻辑

  • 匹配到-----BEGIN CERTIFICATE-----行时,将标记位cert_flag置为1
  • 只要cert_flag值为1,就输出当前行,可完整保留证书的首尾标记行和中间的base64内容
  • 匹配到-----END CERTIFICATE-----行时,将标记位cert_flag置为0,证书块外的随机字符、握手日志等无关内容都会被过滤

完整执行命令

OpenSSL 1.1.0及以上版本

高版本openssl的x509工具支持-multi_cert参数,可直接处理输入流中的多份证书:

openssl s_client -showcerts -connect server.com:443 | awk '/-----BEGIN CERTIFICATE-----/{cert_flag=1} cert_flag{print} /-----END CERTIFICATE-----{cert_flag=0}' | openssl x509 -text -noout -multi_cert

OpenSSL 1.1.0以下版本

低版本不支持多证书批量处理,可调整awk输出分隔符配合xargs逐份处理:

openssl s_client -showcerts -connect server.com:443 | awk '/-----BEGIN CERTIFICATE-----/{cert_flag=1} cert_flag{print} /-----END CERTIFICATE-----{cert_flag=0; print "\0"}' | xargs -0 -I {} openssl x509 -text -noout <<< "{}"

内容的提问来源于stack exchange,提问作者Hobbes C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 01:36:03