Let's Encrypt の通知サービスが終わるので代替
ドメインの証明書に Let’s Encrypt を利用しています。
これまでは有効期限が近づくとメールでお知らせがありました。
この通知サービスが 2025 年 6 月 4 日で終了するとのことです。
証明書を自動更新している人にとっては取り立てて言うほどのことでもないかもしれません。
僕にとっては大切な通知でした。
手動更新しているので。
Let’s Encrypt のメール通知サービス終了
Let’s Encrypt の Blog より
Since its inception, Let’s Encrypt has been sending expiration notification emails to subscribers that have provided an email address to us. We will be ending this service on June 4, 2025. The decision to end this service is the result of the following factors:
Ending Support for Expiration Notification Emails - Let's Encrypt
証明書の有効期限が近付くとメール通知してくれていたのですが、通知サービスが終了するそうです。(証明書発行のサービスではなく、通知のサービスが終了。)
証明書の自動更新をしている場合はあまり影響はないと思いますが、僕の場合は手動で更新しています。
通知はありがたかったのですが、仕方ないです。
少し話がそれますが、ワイルドカード*を使って任意のサブドメインを一つの証明書でまかなうことができます。
こうするとサブドメインを追加したときに証明書を新たに取得する必要がないというのがメリットです。
(自動更新では3か月ごとに証明書を更新しなくてもいいというもっと大きなメリットがあります!)
Let’s Encrypt ではこのワイルドカード証明書に対して自動で更新する方法がないので、手動更新しています。
全ドメインを個別で自動更新する手もありますが、手動更新している理由は以下の2つです。
- サービスを次々に出すとサブドメインのために毎回、証明書を取得するのが大変(この理由は当たらなかった。)
- 更新作業を覚えるため(この理由は当たった。)
有効期限が迫ったときのメール通知を自力ですることにしました。
証明書情報の取得
以下のコマンドで、example.com
のようにドメインを指定して有効期限が取得できます。
$ echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
notBefore=Jan 15 00:00:00 2025 GMT
notAfter=Jan 15 23:59:59 2026 GMT
notAfter
のところが有効期限です。
通知サービス代替方法
証明書情報が取得できれば、あとは好きに調理するだけです。
有効期限まで 20 日を切ったら自分宛にメールを送信するようにしました。
これを cron で毎日実行します。
API はじめました
現在日時と有効期限の引き算をするのが面倒な方に向けて API を作成しました。
その名も Let’s VeriCert です。
証明書の有効期限までの日数を取得できます。
ドメインを指定して API を呼ぶと以下のような JSON が取得できます。
残り日数 270 日と指定したドメインがレスポンスで返ってきます。
{"daysRemaining":270,"domain":"example.com"}
よろしければご利用ください。
紹介ページ:Let’s VeriCert