Let’s EncryptでSSL証明書を発行しているサイトが古いAndroidで映らなくなる!?⇒ちょっとだけ延命した!


Android OSのバージョンがAndroid7.1.1未満の機種は、2021年9月30日以降Let’s EncryptでSSL証明書を発行しているサイトが映らなくなります。

これは、Let’s EncryptがSSL証明書に利用しているルート証明書の「DST Root X3」という証明書が2021年9月30日で有効期限が切れるからなのですが、実はそれよりも先に対応をしていないともっと早い段階で映らなくなります。

ちなみに、2020/09/19現在、ネットで拾ってきた情報によると、日本国内のスマホのシェアの内、Android7.1.1未満の機種の割合は5%ほどだそうです。(20人に1人映らなくなる・・・!)

Let’s Encryptとルート証明書の仕組み

Let’s EncryptはSSL証明書にLet's Encryptを運営している非営利団体のISRGが発行しいている「ISRG's root」というルート証明書を利用しているのですが、この証明書が比較的新しいルート証明書(2014年発行)のため、古いOSにはインストールされていません。

なので、今までは「DST Root X3」というルート証明書を中間証明書として、「DST Root X3」経由で認証を行っていました。

今までの認証までのイメージ

  • DST Root X3・・・Android7.1.1未満も対応したルート証明書
  • ISRG's root・・・Android7.1.1未満は非対応の新しいルート証明書

WEBサイト ⇒ DST Root X3 ⇒ ISRG's root ⇒ 認証OK!

ところが、「DST Root X3」の有効期限が2021年9月30日までとなるため、Let's Encryptの認証は「DST Root X3」の中間証明書を経由しなくなります。

今後の認証までのイメージ

WEBサイト ⇒ ISRG's root ⇒ 認証OK!

つまり、Android7.1.1未満も対応したルート証明書である、「DST Root X3」を中間証明書として経由していたから映っていたAndroid7.1.1未満の機種で、サイトが映らなくなってしまいます。

映らなくなるまでのリミット

では、「DST Root X3」の有効期限が2021年9月30日までに対応すればいいかと言われるとそうでもなくて、Let's Encryptがこの「WEBサイト ⇒ ISRG's root ⇒ 認証OK!」の仕組みに切り替える時期はもっと早いです。(そりゃギリギリなわけないですよね)

なので、Let’s Encryptは、救済策として「古いOSも対応したい人は中間証明書を今まで通り使ってね」と中間証明書を指定して証明書を発行できるようなオプション機能を2020/07/25に実装した上で、2020/9/29に切り替えるとアナウンスしていました。

ました。過去形です。

どうやらその救済策の浸透があまり広まっていないらしく、2020/9/18に公式サイトで、切り替えは2021/01/11に延期すると発表がありました。

なので、実際には2021/01/11までに(正確には2021/01/11以降に証明書を更新するまでに)対策をすれば、古いOSでも引継ぎSSL認証が可能です。

対策

  • 2021/01/11まで

    • 証明書の発行に、中間証明書を指定して発行するようにオプションを指定する
  • 2021/09/30まで

    • Android7.1.1未満とサヨナラする心構えをしておく
    • Let’s Encrypt以外の証明書を用意
    • 別の中間証明書を利用する(未確認)

参考