
## この記事でわかること

- SSL証明書の有効期限が切れた瞬間に、Webサイトとメールで実際に起きること
- ブラウザ・コマンドライン・SSLチェックサービスの3つで有効期限を確認する手順
- 期限切れを防ぐための現実的な備え。特に有効期間が短縮されていく今後の運用

## SSL証明書の有効期限が切れるとどうなるか

「急にサイトが見られないと連絡が入った」「お問い合わせフォームにアクセスできないと言われた」。こんな連絡で慌てて調べてみたら、原因はSSL証明書の期限切れだった。サイト運営者ではよくある相談です。SSL証明書（サーバ証明書）は、ブラウザのアドレスバーの鍵マークを成立させる電子証明書で、有効期限が過ぎると**ブラウザが自動的に警告を出し、多くの訪問者はそこで離脱します**。

Chromeであれば「この接続ではプライバシーが保護されません」という赤い警告画面と、`NET::ERR_CERT_DATE_INVALID` というエラーコードが表示されます。一般のユーザーは「危険なサイトだ」と判断してブラウザを閉じてしまうため、機会損失は想像以上に大きくなります。

![SSL証明書の有効期限が切れたときのユーザー体験](/blog/ssl-expiration-check/expiration-impact.svg)

影響範囲はWebサイトだけではありません。メール送受信をHTTPSやSMTPS経由で行うクラウドメールは、証明書が無効になった瞬間に接続エラーを返します。社外向けフォームからの通知メール、Webhook連携、API呼び出しなど、**ドメインを使う外部通信は連鎖的に止まる**と考えておくのが実務的です。[ドメイン更新忘れからの復旧手順](/blog/domain-renewal-recovery)と違って、SSL証明書は再発行すれば比較的すぐ復旧できますが、「外からアクセスできない時間」そのものが信頼を損ないます。

## 有効期限を確認する3つの方法

確認方法は用途に合わせて3つ使い分けるのが実用的です。社内の非エンジニアでも扱える順に並べると、ブラウザ、コマンドライン（openssl）、SSLチェックサービスの順になります。

![SSL証明書の有効期限を確認する3つの方法](/blog/ssl-expiration-check/check-methods.svg)

### 方法1: ブラウザのアドレスバーから見る

もっとも手軽な方法です。Chromeの場合、確認したいサイトを開いてアドレスバー左端の設定アイコン（または鍵マーク）をクリックし、「この接続は保護されています」→「証明書は有効です」と進むと、発行者と有効期限が表示されます。EdgeやFirefoxも同様のメニューから到達できます。

この方法は特別なツール不要で誰でもできる反面、**確認できるのは今ブラウザで開いているページの証明書のみ**です。リダイレクト先のドメインや、外部からは見えない管理画面用サブドメインまではカバーできません。

### 方法2: opensslコマンドで直接問い合わせる

サーバ側から見たい、あるいは公開前のドメインや社内ネットワークのサーバを確認したい場合は、opensslコマンドが確実です。以下のコマンドで有効期限だけを取り出せます。

```bash
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -dates
```

`notBefore`（発行日）と`notAfter`（失効日）が表示されます。macOSやLinuxには標準で`openssl`が入っています。Windowsの場合はWSLかGit Bashを使うのが簡単です。

期限が30日以内かどうかを自動判定したい場合は`-checkend`オプションが便利です。

```bash
openssl x509 -in cert.pem -noout -checkend 2592000 \
  && echo "30日以上有効" || echo "30日以内に失効"
```

`2592000` は秒数で30日分（`60 * 60 * 24 * 30`）です。このコマンドはスクリプトで組んで、監視サーバに載せる運用もよく行われます。

### 方法3: SSLチェックサービスを使う

ブラウザもコマンドも面倒、複数ドメインをまとめて確認したい、という場合は外部のSSLチェックサービスが向いています。代表的なのはQualys社の[SSL Server Test](https://www.ssllabs.com/ssltest/)で、ドメインを入力するだけで有効期限、発行CA、暗号強度、証明書チェーンの構成までレポートが出ます。無料で、アカウント登録も不要です。

確認ポイントは3つ。**有効期限**（`Not After`）、**証明書チェーンの完全性**（中間証明書の配置ミスがないか）、そして**サブジェクト名の一致**（`www`あり・なしの両方に対応しているか）です。チェックの結果は第三者からの見え方そのものなので、社内からアクセスできても外部から見たらエラー、というズレを検出できます。

## 有効期限が短くなる時代の備え

「年に1回だけ更新すればよい」という運用は、すでに過去のものになりつつあります。CA/Browser Forum（認証局とブラウザベンダーが集まる業界団体）は2025年4月11日のBallot SC-081v3可決により、SSL/TLS証明書の最長有効期間を段階的に短縮することを決めました。

![SSL/TLS証明書 有効期間の短縮スケジュール](/blog/ssl-expiration-check/validity-timeline.svg)

主要な無料証明書であるLet's Encryptは以前から90日が既定で、2028年までに45日既定に移行する計画も公表されています。つまり中小企業であっても、**証明書の発行と反映を自動化する前提で仕組みを作っておく**必要があります。

現実的な備えは3つです。

1つ目は**自動更新の仕組みを入れること**。Webサーバや利用中のサービスが対応していれば、ACMEプロトコル（Let's Encryptなどで使われる自動発行の標準手順）で自動更新するのがもっとも事故が少ない方法です。レンタルサーバやクラウドホスティングの多くは、管理画面のボタン一つで自動更新を有効化できます。

2つ目は**期限前アラートを複数人で受け取ること**。担当者のメールだけに届く運用では、退職・異動・長期休暇のタイミングで抜けます。共有メールやチャットツールの共有チャンネルに、期限30日前・7日前の2段階で通知が届く状態にしておくと取りこぼしが減ります。

3つ目は**年1回の棚卸し**。自社が保有するドメインと、それぞれに設定されている証明書の一覧を、年に1回は紙やスプレッドシートに書き出して確認します。[DNSレコードの基本](/blog/spf-dkim-dmarc-difference)や更新管理と合わせて点検すると、ドメイン自体の更新忘れや、使っていないサブドメインのゾンビ証明書も見つかります。

## まとめ

- SSL証明書が切れると、ブラウザは赤い警告画面を出し、多くの訪問者はそこで離脱します。サイトだけでなくメール連携やAPI連携も連鎖的に止まります
- 有効期限の確認は、ブラウザ・opensslコマンド・SSLチェックサービスの3つを目的別に使い分けるのが実用的です
- 証明書の最長有効期間は業界ルールとして段階的に短縮されています。自動更新・複数人アラート・年1回の棚卸しを、今のうちに仕組み化しておきましょう

## 期限管理の不安を減らしたい方へ

ドメイン番人の[無料診断ツール](/diagnose)では、SSL証明書の有効期限やメール認証（SPF・DKIM・DMARC）の設定状況を、ドメインを入れるだけでまとめて確認できます。SSL だけ単発で確認したい場合は、[SSL 証明書 単発チェック](/ssl/check)が30秒で結果を返します。

棚卸しから自動更新セットアップまでまとめて任せたい方は、[SSL 棚卸し・自動更新支援](/ssl)をご覧ください。「そもそも何個のドメインを管理しているかわからない」「更新担当者が1人で不安」という場合は、[お問い合わせフォーム](/contact)から状況をお知らせください。専門家が手作業で棚卸しし、現実的な運用プランをご提案します。

期限切れの連絡で慌てる前に、今の状態を把握しておきましょう。
