Closed3
TLS(SSL)証明書の更新時の確認ポイント
CSR・秘密鍵新規作成する
公開鍵の鍵長が 2048 bit 以外を利用するとCSR貼り付け時にエラーになる場合もあるので注意する。
openssl req -new -newkey rsa:2048 -nodes -keyout <秘密鍵ファイル名>.key -out <CSRファイル名>.csr
ハッシュ値をそれぞれ確認する
openssl x509 -noout -modulus -in <証明書ファイル名>.crt | openssl md5
openssl rsa -noout -modulus -in <秘密鍵ファイル名>.key | openssl md5
SSL証明書の内容を確認する
openssl x509 -in <証明書ファイル名>.crt -text -noout
鍵が破損していないか確認する
指定した秘密鍵ファイルが有効かどうかをチェックする。もし秘密鍵が正常であれば、何も表示されない。秘密鍵が破損している場合、エラーメッセージが表示される。
openssl rsa -in <秘密鍵ファイル名> -check -noout
証明書チェーン作成時の結合順序
- サーバー証明書(ドメイン証明書)
- 中間証明書(Intermediate Certificate)※必要に応じて複数結合
- ルート証明書(Root Certificate)※必要に応じて複数結合
pem形式で保存する
cat <サーバー証明書>.crt <中間証明書>.crt <ルート証明書>.crt > <結合した証明書チェーン>.pem
結合時はすべて漏れなく結合する必要がある。一つでも漏れるとエラーになる。
SSL証明書の有効期限を確認する。
ブラウザチェックだけは表示されないエラーも以下で確認できる。
openssl s_client -connect <ホスト名>:<ポート番号> -servername <ホスト名> -showcerts | openssl x509 -enddate -noout
サンプル
SSL証明書の有効期限、何の証明書が結合されているか、証明書の結合順序が分かる。
正常に更新されている場合の出力
$ openssl s_client -connect yahoo.co.jp:443 -servername yahoo.co.jp -showcerts | openssl x509 -enddate -noout
notAfter=Mar 1 14:59:00 2025 GMT
depth=2 C = JP, O = "SECOM Trust Systems CO.,LTD.", OU = Security Communication RootCA2
verify return:1
depth=1 C = JP, O = "Cybertrust Japan Co., Ltd.", CN = Cybertrust Japan SureServer CA G4
verify return:1
depth=0 C = JP, ST = Tokyo, L = Chiyoda-ku, O = LY Corporation, CN = edge01.yahoo.co.jp
verify return:1
このスクラップは2ヶ月前にクローズされました