
次のコマンドを使用して、PEMファイルに証明書を表示できます。
openssl x509 -in cert.pem -noout -text
ただし、最初の証明書の情報のみが表示されます。 PEM ファイルには証明書チェーンを含めることもできます。含まれているすべての証明書を表示するには?
答え1
このopenssl
コマンド(特に対応するopenssl x509
サブコマンドなど)は、データフローに対して丁寧です。データを読み取ると、必要以上に読み込まれません。
これにより、複数のopenssl
コマンドを次のようにリンクできます。
while openssl x509 -noout -text; do :; done < cert-bundle.pem
これにより、ファイル内のすべてのバンドル証明書が表示されますcert-bundle.pem
。エラーで終わります。これ以上入力は利用できませんが、どのように動作するかを示すためです。
答え2
PEM形式は、複数の証明書をうまく処理できないようです。に基づいてこの回答:
openssl crl2pkcs7 -nocrl -certfile cert.pem | openssl pkcs7 -print_certs -text -noout
まず、pkcs7に変換してから表示します。
答え3
または、次のことができます。
awk -F'\n' '
BEGIN { showcert = "openssl x509 -noout -text" }
/-----BEGIN CERTIFICATE-----/ {printf "%d: ", i}
{printf $0"\n" | showcert}
/-----END CERTIFICATE-----/ {close(showcert) i++}' cert.pem
答え4
openssl pkcs12 -in cert.p12 -cacerts -nodes -nokeys > rootcert.pem
あるいは、KeyStore Explorerを試してみることもできます。