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

如何从OpenSSL输出中提取第一个BEGIN/END证书块?

提取第一个SSL证书块的命令修改方法

原命令用sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/p'会输出所有证书块,要只提取第一个的话,只需让sed匹配完第一个证书块后直接退出即可,修改后的完整命令如下:

openssl s_client -showcerts -connect services.americanexpress.com:443 | sed -n '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/{p; /-----END CERTIFICATE-----/q}'

原理说明

  • 保留原有的范围匹配规则/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/,确保只处理证书块内容
  • 在范围块内添加p; /-----END CERTIFICATE-----/q逻辑:先打印当前行内容,当匹配到证书结束标记时,执行q命令让sed直接退出,避免继续处理后续的其他证书块

如果习惯用awk工具,也可以用以下命令实现同样效果:

openssl s_client -showcerts -connect services.americanexpress.com:443 | awk '/-----BEGIN CERTIFICATE-----/{flag=1} flag{print; if(/-----END CERTIFICATE-----/) exit}'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 21:13:07