使用 `openssl` 显示 PEM 文件的所有证书

sta*_*tor 24 openssl certificates

我可以使用以下命令来显示 PEM 文件中的证书:

openssl x509 -in cert.pem -noout -text
Run Code Online (Sandbox Code Playgroud)

但它只会显示第一个证书的信息。PEM 文件还可能包含证书链。如何显示所有包含的证书?

A.B*_*A.B 34

openssl命令(特别是其子openssl x509命令等)对其数据流很礼貌:一旦读取数据,就不会读取超出其需要的数据。

这允许链接多个openssl命令,如下所示:

while openssl x509 -noout -text; do :; done < cert-bundle.pem
Run Code Online (Sandbox Code Playgroud)

这将显示文件中的所有捆绑证书cert-bundle.pem(并以错误结束:当没有更多可用输入时,但这只是为了显示它是如何工作的)。


Rom*_*nov 17

似乎 PEM 格式对于多个证书的处理不太好。基于这个答案

openssl crl2pkcs7 -nocrl -certfile cert.pem | openssl pkcs7 -print_certs -text -noout
Run Code Online (Sandbox Code Playgroud)

它首先转换为 pkcs7 然后显示它