Openssl:从证书链中提取根证书?

Mik*_*tan 5 ssl openssl ssl-certificate certificate-authority

我正在获取一个证书链openssl s_client -showcerts -connect host.whatever:443 </dev/null

除此之外,我想以以下格式以编程方式从链中提取根证书 -----BEGIN CERTIFICATE-----.....-----END CERTIFICATE-----

有没有人知道能够做到这一点并且已经随 OpenSSL 一起提供的功能?

Ste*_*ich 9

openssl s_client仅向您显示客户端发送的证书链。该链通常不包括根证书本身。相反,根证书仅包含在本地信任存储中,而不是由服务器发送。据我所知,没有内置方法可以使用 openssl 命令行获取连接的根证书。

  • @MikeStan:是的,会发生配置错误。有些服务器还发送根本不属于链的证书,有些服务器发送错误的顺序。除此之外,最好不要像您那样改变原始问题的重点(即从根到 x 次)。如果您只想提取第 x 个证书,这可能可以使用一个小的 perl 或 python 脚本来完成,但它也不包含在 openssl 命令中。 (2认同)