SSL証明書の有効期限を確認する3つの方法
目次
この記事でわかること
- SSL証明書の有効期限が切れた瞬間に、Webサイトとメールで実際に起きること
- ブラウザ・コマンドライン・SSLチェックサービスの3つで有効期限を確認する手順
- 期限切れを防ぐための現実的な備え。特に有効期間が短縮されていく今後の運用
SSL証明書の有効期限が切れるとどうなるか
「急にサイトが見られないと連絡が入った」「お問い合わせフォームにアクセスできないと言われた」。こんな連絡で慌てて調べてみたら、原因はSSL証明書の期限切れだった。中小企業ではよくある相談です。SSL証明書(サーバ証明書)は、ブラウザのアドレスバーの鍵マークを成立させる電子証明書で、有効期限が過ぎるとブラウザが自動的に警告を出し、多くの訪問者はそこで離脱します。
Chromeであれば「この接続ではプライバシーが保護されません」という赤い警告画面と、NET::ERR_CERT_DATE_INVALID というエラーコードが表示されます。一般のユーザーは「危険なサイトだ」と判断してブラウザを閉じてしまうため、機会損失は想像以上に大きくなります。
影響範囲はWebサイトだけではありません。メール送受信をHTTPSやSMTPS経由で行うクラウドメールは、証明書が無効になった瞬間に接続エラーを返します。社外向けフォームからの通知メール、Webhook連携、API呼び出しなど、ドメインを使う外部通信は連鎖的に止まると考えておくのが実務的です。ドメイン更新忘れからの復旧手順と違って、SSL証明書は再発行すれば比較的すぐ復旧できますが、「外からアクセスできない時間」そのものが信頼を損ないます。
有効期限を確認する3つの方法
確認方法は用途に合わせて3つ使い分けるのが実用的です。社内の非エンジニアでも扱える順に並べると、ブラウザ、コマンドライン(openssl)、SSLチェックサービスの順になります。
方法1: ブラウザのアドレスバーから見る
もっとも手軽な方法です。Chromeの場合、確認したいサイトを開いてアドレスバー左端の設定アイコン(または鍵マーク)をクリックし、「この接続は保護されています」→「証明書は有効です」と進むと、発行者と有効期限が表示されます。EdgeやFirefoxも同様のメニューから到達できます。
この方法は特別なツール不要で誰でもできる反面、確認できるのは今ブラウザで開いているページの証明書のみです。リダイレクト先のドメインや、外部からは見えない管理画面用サブドメインまではカバーできません。
方法2: opensslコマンドで直接問い合わせる
サーバ側から見たい、あるいは公開前のドメインや社内ネットワークのサーバを確認したい場合は、opensslコマンドが確実です。以下のコマンドで有効期限だけを取り出せます。
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オプションが便利です。
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で、ドメインを入力するだけで有効期限、発行CA、暗号強度、証明書チェーンの構成までレポートが出ます。無料で、アカウント登録も不要です。
確認ポイントは3つ。有効期限(Not After)、証明書チェーンの完全性(中間証明書の配置ミスがないか)、そしてサブジェクト名の一致(wwwあり・なしの両方に対応しているか)です。チェックの結果は第三者からの見え方そのものなので、社内からアクセスできても外部から見たらエラー、というズレを検出できます。
有効期限が短くなる時代の備え
「年に1回だけ更新すればよい」という運用は、すでに過去のものになりつつあります。CA/Browser Forum(認証局とブラウザベンダーが集まる業界団体)は2025年4月11日のBallot SC-081v3可決により、SSL/TLS証明書の最長有効期間を段階的に短縮することを決めました。
主要な無料証明書であるLet's Encryptは以前から90日が既定で、2028年までに45日既定に移行する計画も公表されています。つまり中小企業であっても、証明書の発行と反映を自動化する前提で仕組みを作っておく必要があります。
現実的な備えは3つです。
1つ目は自動更新の仕組みを入れること。Webサーバや利用中のサービスが対応していれば、ACMEプロトコル(Let's Encryptなどで使われる自動発行の標準手順)で自動更新するのがもっとも事故が少ない方法です。レンタルサーバやクラウドホスティングの多くは、管理画面のボタン一つで自動更新を有効化できます。
2つ目は期限前アラートを複数人で受け取ること。担当者のメールだけに届く運用では、退職・異動・長期休暇のタイミングで抜けます。共有メールやチャットツールの共有チャンネルに、期限30日前・7日前の2段階で通知が届く状態にしておくと取りこぼしが減ります。
3つ目は年1回の棚卸し。自社が保有するドメインと、それぞれに設定されている証明書の一覧を、年に1回は紙やスプレッドシートに書き出して確認します。DNSレコードの基本や更新管理と合わせて点検すると、ドメイン自体の更新忘れや、使っていないサブドメインのゾンビ証明書も見つかります。
まとめ
- SSL証明書が切れると、ブラウザは赤い警告画面を出し、多くの訪問者はそこで離脱します。サイトだけでなくメール連携やAPI連携も連鎖的に止まります
- 有効期限の確認は、ブラウザ・opensslコマンド・SSLチェックサービスの3つを目的別に使い分けるのが実用的です
- 証明書の最長有効期間は業界ルールとして段階的に短縮されています。自動更新・複数人アラート・年1回の棚卸しを、今のうちに仕組み化しておきましょう
期限管理の不安を減らしたい方へ
ドメイン番人の無料診断ツールでは、SSL証明書の有効期限やメール認証(SPF・DKIM・DMARC)の設定状況を、ドメインを入れるだけでまとめて確認できます。「そもそも何個のドメインを管理しているかわからない」「更新担当者が1人で不安」という場合は、お問い合わせフォームから状況をお知らせください。専門家が手作業で棚卸しし、現実的な運用プランをご提案します。
期限切れの連絡で慌てる前に、今の状態を把握しておきましょう。