〜暮らしの落書き帳〜

SSL証明書の期限切れ確認と復旧手順|有効期間短縮への備えも解説

SSL証明書期限切れ確認手順 副業・Web制作

「サイトが開けない」ときにまず落ち着いて確認すること

ブラウザで「この接続ではプライバシーが保護されません」「NET::ERR_CERT_DATE_INVALID」といった警告が表示されると、多くの人は「証明書が期限切れになった」と即断してしまいがちです。しかし実際には、証明書そのものの期限切れ以外にも、端末の時刻設定のズレ、ドメインと証明書の不一致、中間証明書の欠落、CDN側の設定など、複数の原因が同じような警告画面を引き起こします。原因を決めつけて対処すると、無駄な作業が増えるだけでなく、根本原因を見落として再発することもあります。本記事では、初心者でも順を追って切り分けられるよう、確認すべき項目をステップごとに整理します。

SSL証明書期限切れ確認手順 関連画像1

ステップ1:ブラウザの警告表示を正しく読み取る

ChromeやEdgeでは「NET::ERR_CERT_DATE_INVALID」、Firefoxでは「SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE」など、ブラウザによって表示されるエラーコードが異なります。エラー名に「DATE」が含まれている場合は日付・時刻に関する不一致が疑われますが、これは必ずしも「サーバー証明書が実際に期限切れである」ことだけを意味するわけではありません。閲覧している端末(パソコンやスマートフォン)のシステム時刻が大きくズレている場合も、同じエラーが表示されます。まずはエラーメッセージの詳細(「証明書を表示」などのリンク)から、実際の有効期間(開始日・終了日)を確認することが第一歩です。

ステップ2:証明書そのものの有効期限を確認する

証明書の有効期限は、以下の方法で確認できます。

  • ブラウザで確認:アドレスバーの鍵アイコン(またはサイト情報アイコン)をクリックし、「証明書」または「接続の詳細」から発行日・有効期限を確認します。
  • コマンドで確認:サーバーやPCにopensslが入っている環境では、次のようなコマンドで有効期限を直接取得できます。
    openssl s_client -connect example.com:443 -servername example.com | openssl x509 -noout -dates
  • オンラインツールで確認:Qualys社が公開している「SSL Server Test」など、第三者のチェックツールを使うと、証明書チェーン全体の状態をまとめて確認できます。

ここで「Not After」(失効日)が過去の日付になっていれば、証明書自体が期限切れです。一方、有効期限内であるにもかかわらずブラウザがエラーを出す場合は、次に紹介する原因を確認します。

ステップ3:端末・サーバーの時刻のズレを疑う

証明書は「有効開始日」と「有効終了日」という時刻情報を持っており、閲覧側の端末の時計が大きくズレていると、実際には有効な証明書でも「期限切れ」「まだ有効ではない」という扱いになります。特にスマートフォンや古いPCで自動時刻同期がオフになっている場合、数分〜数時間のズレが生じることがあります。対処法は、端末の日付・時刻設定を「自動設定」にし、正しいタイムゾーンになっているかを確認することです。サーバー側についても、NTP(時刻同期)サービスが停止していないかを確認してください。サーバーの時刻が大きくズレると、証明書の検証だけでなく他のシステムにも影響が及びます。

ステップ4:ドメイン名と証明書の対象範囲を確認する

証明書には「どのドメインに対して発行されたか」という情報(コモンネームやSAN=Subject Alternative Name)が含まれています。「www.example.com」用の証明書しか取得していない状態で「example.com」(wwwなし)にアクセスすると、ドメイン不一致のエラーになります。逆に、サブドメインを追加したのに証明書を再発行していない場合も同様です。証明書の詳細画面で「対象のドメイン」欄を確認し、実際にアクセスしているURLのドメインと一致しているかをチェックしましょう。

ステップ5:中間証明書のチェーンが欠けていないか確認する

SSL/TLS証明書は、サーバー証明書単体ではなく、認証局(CA)が発行する「中間証明書」を経由して信頼のチェーンを構成しています。この中間証明書がサーバーに正しく設定されていないと、多くのブラウザやOSでは自動補完により警告なしで表示されることもありますが、一部の環境(古いOS、特定のモバイルブラウザ、APIクライアントなど)では「信頼できる証明書パスが見つからない」というエラーになります。中間証明書の欠落は前述のSSLチェックツールで検出できることが多く、サーバー管理画面やホスティング会社の証明書設定から、フルチェーン(サーバー証明書+中間証明書)が正しく設定されているかを確認する必要があります。

ステップ6:Let’s Encrypt等の自動更新が失敗する原因を切り分ける

Let’s Encryptなどの無料証明書は自動更新の仕組みを備えていますが、「自動更新だから絶対に失敗しない」というわけではありません。実際に更新が失敗する主な原因には、次のようなものがあります。

  • ファイアウォールやセキュリティソフトが80番・443番ポートへの外部アクセスをブロックしている
  • ドメインのDNS設定が変更され、証明書発行に必要なドメイン所有確認(ドメインバリデーション)が通らなくなっている
  • .htaccessやWebサーバーの書き換えルールが、証明書更新用の検証リクエストをリダイレクトしてしまっている
  • 自動更新を実行するcronジョブやタイマーが停止・削除されている
  • 短期間に検証エラーを繰り返し、認証局側のレート制限にかかっている

更新に失敗した場合は、まずサーバー側のログ(Certbotなど更新クライアントのログ)を確認し、どの段階で失敗しているかを特定することが重要です。ログを見ずに「とりあえず再実行」を繰り返すと、レート制限によってさらに時間がかかることがあります。

ステップ7:CDNやリバースプロキシを利用している場合の注意点

Cloudflareなどのリバースプロキシ/CDNサービスを利用している場合、証明書は「利用者のブラウザ⇔CDN」区間と「CDN⇔オリジンサーバー」区間の2か所に存在することがあります。この構成では、片方の証明書だけが更新されていて、もう片方が期限切れになっているケースが見られます。特にCDN側の設定で「Full(Strict)」のようなオリジン証明書の厳密検証モードを使っている場合、オリジンサーバー側の証明書が期限切れになると、CDNとオリジンの通信が遮断され、結果として訪問者にはエラーページが表示されます。この場合、ブラウザの証明書表示だけを見てもCDN側の証明書しか確認できないことがあるため、CDNの管理画面やドキュメントに沿って、オリジン側の証明書の状態も個別に確認する必要があります。

SSL証明書期限切れ確認手順 関連画像2

ステップ8:復旧後に必ず確認すべきこと

証明書の更新や設定変更を行った後は、次の点を確認してから完了とします。

  • 証明書の有効期限が実際に更新後の日付になっているか(キャッシュされた古い証明書情報を見ていないか、シークレットモードや別ブラウザでも確認する)
  • 主要なブラウザ(PC・スマートフォン)で警告が出ずに表示できるか
  • CDNを利用している場合、CDN側・オリジン側の双方の証明書が有効期限内か
  • 次回の自動更新が正しくスケジュールされているか(更新クライアントの設定やログで確認)
  • 可能であれば、証明書の有効期限が近づいたら通知が届くよう、外形監視サービスなどで期限監視を設定しておく

復旧直後は問題なく見えても、自動更新の設定自体を直していない場合、同じ問題が数か月後に再発することがあります。応急処置と恒久対応を分けて考えることが大切です。

絶対に避けたい対処法

証明書エラーが出た際、ブラウザの「詳細設定」から「安全でないページに進む」を選んで警告を回避する方法が紹介されることがありますが、これは根本的な解決にはならず、閲覧者の通信が保護されない状態のまま利用を続けることになるため推奨されません。同様に、OSやブラウザ全体で証明書検証を無効化する設定変更も、他のあらゆるサイトの安全性を損なうリスクがあるため避けるべきです。エラーが出た場合は、本記事の手順に沿って原因を特定し、証明書そのものを正しい状態に戻すことを優先してください。

これから変わる証明書の有効期間と、期限切れを防ぐ管理方法

ここまでの手順は、期限が切れたあとの確認と復旧が中心でした。この節では、期限切れを起こさないための備えをまとめます。証明書の有効期間は、これから段階的に短くなる予定です。更新の回数が増えるため、手作業だけに頼る管理は難しくなっていきます。内容は2026年9月時点で、CA/Browser Forum、Let’s Encrypt、Mozilla、Chromeの公式ページで確かめたものです。

CA/Browser Forumの決定:最長有効期間は段階的に短くなる

CA/Browser Forumは、証明書を発行する認証局とブラウザの開発元が参加する業界団体です。ここで決めた基準(Baseline Requirements)に、公開サイト向けのSSL/TLS証明書は従います。2025年4月11日、有効期間を段階的に短くする提案(Ballot SC081v3)が可決されました。可決された基準の本文によると、発行日ごとの上限は次のとおりです。

証明書の発行日最長の有効期間ドメイン認証の結果を使い回せる期間
2026年3月15日以降200日200日
2027年3月15日以降100日100日
2029年3月15日以降47日10日

「ドメイン認証の結果を使い回せる期間」とは、そのドメインの持ち主であると一度確かめた結果を、次の発行で再利用できる期間のことです。2029年3月15日以降は10日になるため、更新のたびに認証をやり直す場面が増えると考えられます。なお、2026年3月15日以降の上限はすでに200日です。いま発行される証明書は、長くても200日(約6か月半)ごとに入れ替えが必要です。

Let’s Encryptも有効期間を短くする予定

無料のLet’s Encryptは、よくある質問のページで「標準の証明書は90日有効」「90日の証明書は60日ごとの更新を推奨」と案内しています。さらに2025年12月の公式ブログで、有効期間を45日へ短くする予定を公表しました。

時期(公式ブログの予定)変更内容
2026年5月13日希望者向けの「tlsserver」プロファイルが45日の証明書に
2027年2月10日標準の「classic」プロファイルが64日の証明書に
2028年2月16日標準の「classic」プロファイルが45日の証明書に

同じブログでは、更新の時期を知らせる仕組み「ARI(ACME Renewal Information)」を使うことが強く勧められています。ACMEは証明書の発行や更新を自動で行うための手順のことです。レンタルサーバーの無料SSL機能を使っている場合は、サーバー会社が更新を代行していることが多いので、各社のお知らせも確認しておきましょう。

短くなることで起きやすい影響

  • 手作業で更新しているサイトは、更新作業の回数が増えます。忘れたときに期限切れになるまでの余裕も短くなります。
  • 自動更新が止まっていても、気づくまでの時間が短くなります。1回の失敗がそのまま表示エラーにつながりやすくなります。
  • CDNやロードバランサーなど、証明書を置く場所が複数あると、一部だけ古いまま残る原因になります。

Let’s Encryptの期限通知メールは終了済み

以前のLet’s Encryptは、期限が近づくと登録メールアドレスに通知を送っていました。しかし公式ブログによると、この期限通知メールは2025年6月4日で終了しています。理由として、自動更新が広く普及したこと、数百万件のメールアドレスを保管し続けることがプライバシーの考え方に合わないこと、費用や仕組みの負担が挙げられています。

いまは「期限が近づけばメールが届く」と考えないほうが安全です。代わりの方法として、Let’s Encryptの公式ページは外部の監視サービスを紹介しています。無料で証明書の期限を見張れるサービスもあります。ただし公式ページには、紹介しているサービスとLet’s Encryptは無関係であり、安全性や信頼性を保証しないとも書かれています。選ぶときは各サービスの条件を自分で確かめてください。

監視の方法は、大きく次の3つに分けられます。1つだけに頼らず、2つを組み合わせると見落としを減らせます。

  • 外部の監視サービス:サイトに外からアクセスして期限を読み取り、残りが少なくなると通知します。自動更新の失敗にも気づきやすい方法です。
  • サーバー会社・認証局からの通知:有料証明書やレンタルサーバーの無料SSLでは、契約先からお知らせが届くことがあります。受信するメールアドレスが今も使えるか確認しておきます。
  • 自分のカレンダー登録:台帳の「次回確認日」を予定表に入れます。仕組みが止まったときの最後の保険になります。

ブラウザ別:証明書の有効期限の見方

警告が出ていなくても、ブラウザで期限を先に見ておくと安心です。操作はバージョンによって表示名が変わることがあります。

Firefoxの場合(Mozillaのサポートページによる手順。ボタン名は英語表記で、表示言語によって異なる場合があります)

  1. アドレスバーの左にある錠前(または盾)のアイコンをクリックします。
  2. 開いたパネルで「Connection secure」をクリックします。
  3. 「More information」をクリックします。
  4. ページ情報の画面で「View Certificate」をクリックします。
  5. 証明書の情報ページが開くので、「有効期間」の終了日時を確認します。

Google Chromeの場合(Chrome DevToolsの公式ドキュメントによる手順)

  1. 確認したいサイトを開き、デベロッパーツール(DevTools)を開きます。
  2. Windowsは「Ctrl+Shift+P」、Macは「Command+Shift+P」でコマンドメニューを開きます。
  3. 「privacy」と入力し、「プライバシーとセキュリティを表示」を選びます。
  4. セキュリティの概要で「証明書を表示」をクリックし、有効期間を確認します。

見るときは、終了日時だけでなく「発行先」と「発行者」もあわせて確認しましょう。発行先のドメイン名が違っていれば、別の証明書が表示されている可能性があります。wwwの有無など、サイトのURLごとに確かめるのがおすすめです。

期限管理チェックリスト(台帳に書く項目)

証明書が複数あるときや、担当者が変わる可能性があるときは、台帳(一覧表)を作っておくと管理しやすくなります。表計算ソフトで次の列を用意し、証明書1枚につき1行で記録します。

台帳の項目書く内容の例記録する理由
対象のドメイン名example.com と www.example.com一部のURLだけ更新漏れになるのを防ぐ
証明書の種類・発行元Let’s Encrypt/有料のDV証明書 など更新の方法と問い合わせ先が決まる
設置している場所レンタルサーバー、CDN、ロードバランサー更新後に古い証明書が残る場所を洗い出す
有効期限(終了日時)ブラウザで確認した日時残り日数を把握する
更新方法自動(サーバーの機能/ACMEクライアント)・手動自動が止まったときの確認先がわかる
通知の受け取り先監視サービス、契約先のメールアドレス通知が届かない状態に気づける
契約・支払いの期限有料証明書やドメインの契約更新日証明書と別に切れる期限を見落とさない
担当者・ログイン情報の保管場所担当者名と管理画面の保管先担当者不在でも更新できるようにする
次回確認日・最終確認日期限の30日前など自分で決めた日定期的に見直す習慣をつける

台帳を作ったら、次の点を定期的に確認します。

  • 更新後、ブラウザで新しい終了日時に変わっているか。
  • 自動更新の設定が、サーバー移転やプラン変更のあとも有効になっているか。
  • 通知の受け取り先のメールアドレスが、今も読める状態か。
  • 有効期間の短縮予定に合わせて、次回確認日の間隔を見直したか。

有効期間が短くなるほど、「更新は自動、確認は監視と台帳」という分担が大切になります。まずは自分のサイトの証明書を1枚ずつ台帳に書き出すところから始めてみてください。

よくある質問

証明書の期限内なのに警告が出ます。

端末の時計のずれ、証明書の対象外のドメイン名でのアクセス、中間証明書の設定漏れなどが考えられます。記事のステップ3〜5の順に確かめてください。

自動更新にしていれば、期限切れは起きませんか?

起きることがあります。ポートの遮断、DNSの変更、リダイレクトの設定、更新の予約の停止などで失敗するため、更新クライアントのログを確かめましょう。

Let’s Encryptの期限通知メールは届きますか?

公式ブログによると、期限通知メールは2025年6月4日で終了しています。外部の監視サービスやカレンダー登録など、別の方法で期限を見張りましょう。

警告画面から「安全でないページに進む」で開いてもよいですか?

根本的な解決にならず、閲覧者の通信が守られないままになります。証明書を更新・修正して警告が出ない状態に戻してください。

まとめ

SSL証明書の期限切れが疑われる警告は、実際には「証明書の失効」「端末の時刻ズレ」「ドメインの不一致」「中間証明書の欠落」「自動更新の失敗」「CDN側の証明書問題」など、複数の原因のいずれかによって発生します。エラーコードだけで原因を断定せず、証明書の有効期限、時刻設定、ドメイン、チェーン、更新ログを順に確認していくことで、多くの場合は自力で原因を特定できます。恒久的な再発防止のためには、自動更新の仕組みそのものを定期的に点検し、期限が近づいたら通知が届く監視体制を整えておくことをおすすめします。

次に読むならこの1本ドメイン更新忘れを防ぐ方法|自動更新・支払い方法・通知設定を徹底解説証明書と同じく期限切れで止まらないよう、ドメインの更新忘れを防ぐ方法をまとめています。

参考情報・出典

⚡ いま読まれているトレンド

→ トレンド記事をもっと見る

コメント

タイトルとURLをコピーしました