我正在使用 获取证书链openssl s_client -showcerts -connect host.whatever:443 </dev/null
。
除此之外,我还想以以下格式以编程方式从链中提取根证书-----BEGIN CERTIFICATE-----.....-----END CERTIFICATE-----
是否有人知道具有这一功能并且已随 OpenSSL 提供?
答案1
openssl s_client
仅显示客户端发送的证书链。此链通常不包含根证书本身。相反,根证书仅包含在本地信任存储中,而不是由服务器发送。据我所知,没有内置方法可以使用 openssl 命令行获取连接的根证书。
答案2
Web 服务器发送根证书是没有意义的,如果发送了根证书,浏览器应该忽略它(它必须在本地存储中)。如果它是一个中间 CA 证书,那么你可以按照你正在使用的方式检索它。