openssl コマンドと csplit コマンドでサーバが返す証明書を分割する
次のようにします。
openssl s_client -connect example.com:443 -showcerts < /dev/null |
csplit -k -f cert - '/^-----BEGIN CERTIFICATE-----/' '{*}'
cert00
cert01
cert02
みたいなファイルがカレントディレクトリに保存されます。cert00
はゴミで、それ以外が証明書です。
cert01
や cert02
の中身を見てみると -----END CERTIFICATE-----
以降にゴミがついているのですが・・openssl
コマンドに食わす分には問題ありません。
openssl x509 -in cert01 -noout -subject
# subject= /CN=example.com
openssl x509 -in cert02 -noout -subject
# subject= /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X1
openssl verify -verbose cert02
# cert02: OK
openssl verify -untrusted cert02 cert01
# cert01: OK
openssl verify -CAfile <(cat /etc/pki/tls/certs/ca-bundle.crt cert02) cert01
# cert01: OK
cat cert02 cert01 | openssl verify
# stdin: OK
Author And Source
この問題について(openssl コマンドと csplit コマンドでサーバが返す証明書を分割する), 我々は、より多くの情報をここで見つけました https://qiita.com/ngyuki/items/677acbe3fe9615b7be7a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .