.crt
単一のコマンドを使用して、証明書チェーン内のすべての証明書を別々のファイルにエクスポートしたいと思います。どうすればいいですか?
いくつかの背景情報を提供するには:
openssl
bashユーティリティを使いたいです。(openssl s_client -showcerts -connect <host>:<port> & sleep 4)
上記のコマンド可能複数の証明書を印刷します。つまり、次のパターンで複数の文字列を印刷できます。base64
-----BEGIN CERTIFICATE-----
でエンコードされたX.509証明書-----END CERTIFICATE-----
。たとえば、-----BEGIN CERTIFICATE----- MIIFNzCCAx+gAwIBAgITUwAAAAJpqCKn3YTQ6gAAAAAAAjANBgkqhkiG9w0BAQsF... -----END CERTIFICATE-----
ファイルの内容は、
.crt
ラベルを含む印刷されたbase64でエンコードされた証明書と同じでなければなりません。
ベストアンサー1
パイプを通して入るawk '/BEGIN/ { i++; } /BEGIN/, /END/ { print > "cert-" i ".crt" }'
たとえば、
echo "" |
openssl s_client -showcerts -connect www.example.com:443 |
awk '/BEGIN/ { i++; } /BEGIN/, /END/ { print > "cert-" i ".crt" }'