openssl s_clientから中間証明書の詳細を取得する簡単な方法を探しています。出力はopenssl x509にパイプできますが、まずリーフ証明書が必要です。私はこのスクリプトを思い出して動作しますが、同じ目的を達成するためのより簡単なコマンドがあるかどうか疑問に思いました。
echo 1 | openssl s_client -connect unix.stackexchange.com:443 -showcerts 2>/dev/null | sed -n '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' | sed -n '/END CERTIFICATE/,$ p' | tail -n +2 | openssl x509 -noout -text
答え1
次のように試してみることもできます。
$ echo 1 | \
openssl s_client -connect unix.stackexchange.com:443 \
-showcerts 2>/dev/null > /tmp/chained.pem && \
openssl crl2pkcs7 -nocrl -certfile /tmp/chained.pem | \
openssl pkcs7 -print_certs -text -noout