OpenSSL
https://gyazo.com/169773ee81844a1352e4e225330d81b8
SSL/TLS接続のためのプロトコルの実装、またそれらの実現に必要な暗号化機能を提供するオープンソースソフトウェア OpenSSL の提供する暗号化機能を使用するためのコマンドラインツール。
HeartBleed などのいくつかの大きな脆弱性の発表をきっかけに、いくつかのフォークが生まれた
OpenBSDプロジェクトがメンテナンスするフォーク。古い実装のサポートを終了し多くのメンテナンスされていない機構を削除している。 macOS では OpenSSL に代わって LibreSSL が使用されている LibreSSL と BoringSSL、OpenSSL でそれぞれの開発者で協力するということになっている
コマンドライン
証明書の内容を確認する
$ openssl x509 -noout -text -in <path-to-file>
情報を全部取る
$ openssl x509 -noout -text -in <path-to-file> | grep -i 'Not '
証明書の有効期限だけを拾う
SSL証明書ファイルのチェックサム取得
$ openssl x509 -noout -modulus -in <path-to-file>
秘密鍵ファイルのチェックサム取得
$ openssl rsa -noout -modulus -in <path-to-file>
CSRファイルのチェックサム取得
$ openssl req -noout -modulus -in <path-to-file>
証明書のチェインの確認
調べたい証明書と issuer_hash 証明書のチェイン元(中間証明書やルート証明書) の subject_hash を確認し、値が一致すればその証明書はチェインが成立していることになる。
code:console
$ openssl x509 -noout -issuer_hash -in ./example.crt
01234567
$ openssl x509 -noout -subject_hash -in ./example.cer
01234567