SSL関係

SSL証明書の整合性のコマンド

以下のコマンドを発行することで確認できます。

概要

発行されたSSL証明書の整合性を

のハッシュ値を比べることで認証局から発行された証明書であることを確認します。

1.証明書と秘密鍵のハッシュ値を確認

openssl x509 -pubkey -in /etc/certs/hoge.example.com.crt -noout | openssl md5

 → (stdin)= ハッシュ値

/etc/certs/hoge.example.com.crtは各自のSSL証明書ファイルのパスに合わせます。

openssl pkey -pubout -in /etc/private/hoge.example.com.key | openssl md5

 → (stdin)= ハッシュ値

/etc/private/hoge.example.com.keyは各自のSSL秘密鍵のパスに合わせます。

証明書と秘密鍵それぞれから抽出した公開鍵のハッシュ値を確認します。2つのハッシュ値が合致していれば、適切な証明書と秘密鍵の組み合わせです。

2a.証明書と中間証明書のハッシュ値を確認 (別ファイルで提供されている場合)

市販されている証明書は中間証明書と別になっていることが多いです。

openssl x509 -issuer_hash -noout -in /etc/certs/hoge.example.com.crt

/etc/certs/hoge.example.com.crtは各自のSSL証明書ファイルのパスに合わせます。

openssl x509 -subject_hash -noout -in /etc/certs/hoge.sample.com.CA.crt

/etc/certs/hoge.sample.com.CA.crtは各自のSSL中間証明書ファイルのパスに合わせます。

上記2つのハッシュ値が合致していれば、適切な認証局から発行された証明書と中間証明書の組み合わせです。

2b.証明書と中間証明書のハッシュ値を確認 (証明書と中間証明書が結合されている場合)

Let's Encryptのように、証明書と中間証明書が結合されている場合の手順です。

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

上記2つのハッシュ値が合致していれば、証明書ファイルと中間証明書は適切に結合されています。

SSL証明書の期限を確認する

以下のコマンドを発行することで、証明書の内容を簡単に確認できます。

発行されたSSL証明書のコモンネームと有効期限を確認

openssl x509 -noout -dates -subject -in /etc/certs/hoge.sample.com.crt

/etc/certs/hoge.sample.com.crtは、サーバにある証明書ファイルを確認します

想定される結果

notBefore=Jan 26 06:01:26 2023 GMT
notAfter=Feb 22 14:59:00 2024 GMT
subject= /C=JP/ST=Kuken-Island/L=Rasen-Boden/O=Atelier-of-Ryza/CN=atelier.reisalin.com

のように、CSRに基づいたCNなどがあることを確認します。