SSLサーバ証明書の有効期間をOpenSSLを使って確認する方法


概要

検証環境で利用しているSSLサーバー証明書が90日の有効期間1と短いため、証明書の有効期限を確認したくなることがあるので、OpenSSLを利用した確認方法をメモ

SSLサーバ証明書とは

こちらのサイトでは、以下のような説明がされている。
SSLサーバ証明書は、ウェブサイトの「運営者の実在性を確認」し、ブラウザとウェブサーバ間で「通信データの暗号化」を行うための電子証明書

ざっくりいうと、httpsで始まるドメインの運用に必要となり、認証局と呼ばれるところで発行してくれるもの
この証明書には有効期間が定められており、期限を過ぎると利用できなくなる(期限切れの状態だとブラウザで警告が表示されアクセスが制限されてしまう)ため、定期的に更新を行う必要がある

有効期間の確認方法

以下のコマンドで、証明書の有効期間が確認できる

openssl x509 -in <証明書ファイル名> -noout -dates

コマンド実行例

例えば、ファイル名がsslfile.pemという証明書の有効期間を確認する場合は以下の通り

$ openssl x509 -in sslfile.pem -noout -dates
notBefore=Mar  1 12:05:10 2021 GMT
notAfter=May 30 12:05:10 2021 GMT

結果確認

実行結果が2行出力されるが
notBefore=Mar 1 12:05:10 2021 GMT ←"notBefore" この日より前は使えない
notAfter=May 30 12:05:10 2021 GMT ←"notAfter" この日より後は使えない
つまり、Mar 1 12:05:10 2021 GMTMay 30 12:05:10 2021 GMTがこの証明書の有効期間ということがわかる

オプションの意味

  • - x509
    opensslのサブコマンド、X.509証明書関連の処理を行う
  • - in
    入力ファイルを指定
  • - noout
    証明書の内容を出力しない(No Out)、これをつけないと例の記号文字列がずらずら出力される
  • - dates
    開始・終了日時を出力する

参考リンク:OpenSSLコマンド簡易マニュアル