SSL証明書の有効期限が切れるとどうなるか
SSL/TLS証明書には発行時に「NotBefore(有効開始日時)」と「NotAfter(有効期限)」が
記録されています。NotAfterを過ぎると、証明書は技術的には無効なものとして扱われ、
主要ブラウザは全画面の警告(Chromeの NET::ERR_CERT_DATE_INVALID など)を表示します。
この警告を見て「詳細設定」から先に進める利用者はごく一部です。多くの利用者は 警告画面でサイトを離脱するため、期限切れは実質的にサイトへのアクセス不能に近い 影響が出ます。加えて、次のような影響もあります。
- API連携先やアプリなど、証明書検証を省略しないクライアントは接続自体が切断されます。
- 検索エンジンのクローラーも証明書検証の対象になるため、評価に悪影響が出る可能性があります。
- 一度期限切れが発生すると、利用者からの信頼回復には時間がかかります。
証明書の有効期間は認証局(CA)によって異なりますが、Let's Encryptなど無料CAの多くは 90日と短めです。有効期間が短いCAを使っている場合、自動更新の設定・監視が特に重要になります。
確認方法1: ブラウザで確認する
もっとも手軽な方法は、ブラウザのアドレスバーの鍵アイコンから証明書情報を開くことです。 Chromeであれば鍵アイコン→「この接続は保護されています」→「証明書は有効です」の詳細から、 Firefoxであれば鍵アイコン→「詳細を表示」から、それぞれ発行者と有効期間を確認できます。
ただし、この方法は「自分が今アクセスしているサーバーが返した証明書」を見るだけなので、 複数台のサーバー・CDN・ロードバランサー構成では見ているエッジが毎回同じとは限らない点に 注意してください。
確認方法2: opensslコマンドで確認する
サーバー環境やCI/CDから確認する場合は、openssl s_client で直接ハンドシェイクして
証明書の日付を取得できます。
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null \
| openssl x509 -noout -dates
notBefore= と notAfter= が出力されます。-servername はSNI(Server Name Indication)を
指定するオプションで、1つのIPアドレスで複数ドメインの証明書を出し分けている構成(共用SSL・
CDN等)では省略すると別ドメインの証明書が返ることがあるため必ず指定してください。
残り日数だけを知りたい場合は次のように -checkend を使うと、指定秒数以内に期限切れになるかを
終了コードで判定できるため、監視スクリプトに組み込みやすくなります。
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null \
| openssl x509 -noout -checkend 2592000 # 30日(2,592,000秒)以内に期限切れなら non-zero
確認方法3: 無料診断ツールでまとめて確認する
以下のフォームにドメインを入力すると、証明書の有効期限に加えて、SAN とホスト名の一致・
中間証明書チェーンの完全性・信頼できるCAからの発行かどうか・鍵長や署名アルゴリズムの強度・
TLSバージョン・HTTPS リダイレクト・HSTS の設定状況までまとめて確認できます。手動で
openssl コマンドを都度実行する代わりに、SSL関連の主要項目を一度にチェックしたい場合に
ご利用ください。
更新忘れを防ぐには:自動更新と監視をセットで
証明書の期限切れは、ほとんどの場合「更新作業を忘れた」ではなく「自動更新の設定が いつの間にか壊れていた」ことが原因です。次の2点をセットで整えることを推奨します。
- 自動更新の仕組み:Let's Encryptであれば certbot の cron/systemd タイマー、 各種ホスティング・CDNサービスであればプラットフォーム側の自動更新機能を有効にします。
- 更新失敗に気づく仕組み:自動更新は「設定していれば安心」ではなく、DNS変更・ ファイアウォール変更・API認証情報の失効などで気づかないうちに失敗することがあります。 定期的な外部からの監視(このページの診断フォームでの手動確認、または将来的な定期監視) を組み合わせて、実際に証明書が更新され続けているかを確認してください。
証明書の更新コマンドそのものは、環境(自前サーバーでのcertbot実行・CDN側管理・商用CA経由の 手動更新など)によって手順が大きく異なり、誤ったコマンド例はかえって危険です。本サイトの 診断結果ページでは、更新手順そのものではなく、更新前に確認すべき前提条件と、更新後の 確認方法を案内しています。
まとめ
- 証明書の有効期限切れは、ブラウザの全画面警告やAPIクライアントの接続断など、 実害の大きい障害につながります。
- ブラウザの鍵アイコン、
openssl s_clientコマンド、無料診断ツールのいずれでも 有効期限を確認できます。 - 自動更新の設定と、更新が実際に成功しているかの監視をセットで行うことが、 期限切れを防ぐ最も確実な方法です。
証明書まわりの設定とあわせて、HSTSの設定方法と注意点も 確認しておくと、HTTPS周りの設定に抜け漏れがないか確認できます。診断結果の 取り扱いについては免責事項もあわせてご確認ください。