SSL証明書の整合性を確認したい。
以下のコマンドを発行することで確認できます。
概要¶
発行されたSSL証明書の整合性を
- 証明書と秘密鍵
- 証明書と中間証明書
のハッシュ値を比べることで認証局から発行された証明書であることを確認します。
証明書と秘密鍵のハッシュ値を確認¶
openssl x509 -pubkey -in /etc/certs/hoge.example.com.crt -noout | openssl md5
(stdin)= ハッシュ値
# SSL証明書ファイル
openssl pkey -pubout -in /etc/private/hoge.example.com.key | openssl md5
(stdin)= ハッシュ値
# 秘密鍵ファイル
証明書と秘密鍵それぞれから抽出した公開鍵のハッシュ値を確認します。2つのハッシュ値が合致していれば、適切な証明書と秘密鍵の組み合わせです。
証明書と中間証明書のハッシュ値を確認 (別ファイルで提供されている場合)¶
openssl x509 -issuer_hash -noout -in /etc/certs/hoge.example.com.crt
# SSL証明書ファイル
openssl x509 -subject_hash -noout -in /etc/certs/hoge.sample.com.CA.crt
# 中間証明書ファイル
証明書と中間証明書のハッシュ値を確認します。2つのハッシュ値が合致していれば、適切な認証局から発行された証明書です。
証明書と中間証明書のハッシュ値を確認 (証明書と中間証明書が結合されている場合)¶
openssl x509 -issuer_hash -noout -in /etc/certs/hoge.example.com.crt
sed -n -e'1d' -e'/BEGIN/,$p' /etc/certs/hoge.example.com.crt | openssl x509 -subject_hash -noout
Let's Encryptのように、証明書と中間証明書が結合されている場合もあります。この時は、上記のコマンドを実行することで同様に証明書と秘密鍵のハッシュ値を確認できます。