2020年8月アーカイブ

古いandroid端末へ、Let's Encryptの新しいルート証明書「ISRG Root X1」を手動でインストールする手順のお話です。
これは、Googleさんとしてはしてほしくないことなのではないかと想像します。(「古い端末はセキュリティ的に危険だから、新しいandroid端末を買って使ってよ!」の意味)

・android 5以上が前提です。4以下はTLS 1.2に対応していないので諦めましょう。
・あらかじめ「ダウンロード」フォルダに「ISRG Root X1」証明書をダウンロードしておきましょう。
 https://letsencrypt.org/certs/isrgrootx1.pem.txt


androidのバージョンによって機能の表示名が違っているかもしれません。
以下はXperia SGP311のandroid 5.1.1(日本では非公式)のスクショです。

1.設定→セキュリティから「機器メモリーかSDカードからインストール」をタップ。

letsencrypt_root_certificate_change02.png

letsencrypt_root_certificate_change03.png

2.ファイル選択画面が表示されるので、あらかじめダウンロードしておいた「ISRG Root X1」証明書をタップ。

letsencrypt_root_certificate_change04.png

3.「証明署名」に半角で任意の証明書名を入力後、OKをタップ。

letsencrypt_root_certificate_change05.png

以上で証明書のインストールは完了です。

https://valid-isrgrootx1.letsencrypt.org/
へアクセスし、エラーなくページが表示されることを確認します。

letsencrypt_root_certificate_change06.png

ルート証明書は↓な感じです。

letsencrypt_root_certificate_change07.png

注意点が1つ。
OSが管理している証明書ではないので、時々、「ネットワーク監視」の警告メッセージが表示されます。これが、自分が入れた証明書に関するものであれば気にしないでよいです。

letsencrypt_root_certificate_change08.png

ぐっどらっこ。

Let's Encryptが提供する無料のSSL証明書は本サイトでも利用しています。
そして、Let's Encryptは、Let's Encryptの独自のルート証明 ISRG Root X1へ2020年9月29日に変更することを以前から表明しています。

本サイトのサーバー、さくらインターネットでは、2021年6月頃までは、これまでの「DST Root X3」のルート証明書を利用できる中間CA証明書を利用する設定を維持するとのことですので、2021年6月頃まではクライアントには何も影響はありません。

なぜ2021年6月頃かというと、「DST Root X3」のルート証明書の期限が2021年9月30日だからです。
いくら中間CA証明書で「DST Root X3」を利用できるようにしてあっても、「DST Root X3」の期限が切れてしまっては意味がありません。

というわけで、2021年9月30日以降は、「DST Root X3」ルート証明書+中間CA証明書でも、証明書としては機能しなくなってしまうわけです。

で、上記の話がどんな問題をもたらすかというと、

android 7.1.1(7.1.1はOK)より古いandroid OSにはISRGルート証明書が入っていないので、
この新しいルート証明書を使っているサーバーへアクセスすると、例えばChromeブラウザでは、
 NET::ERR_CERT_AUTHORITY_INVALID
というエラー画面が最初に表示されてしまう。

という現象が発生していまいます。

letsencrypt_root_certificate_change01.png

現在でも、
 https://valid-isrgrootx1.letsencrypt.org/
へアクセスすることで、新しい「ISRGルート証明書」を使ったサイトへのアクセスの確認ができます。

参考:androidのリリース一覧。
 https://developer.android.com/about/dashboards

解決方法は2つです。いずれもクライアント側の対応です。

1.新しいISRGルート証明書を手動でインストールする。
 https://letsencrypt.org/certificates/ の「ISRG Root X1 (self-signed)」からダウンロードして、手動でインストールする。
 android端末への証明書の手動のインストール方法はこちら

2.ブラウザにFirefoxを利用する。
 Firefoxでは、OSの管理する証明書は使わず、独自のルート証明書群(ルートストア)を使うので、そこに「「ISRG Root X1」は入っているので問題なし。(以下はバージョン68で実験。ISRGのルート証明がOS管理下になくてもエラーなく表示)

letsencrypt_root_certificate_change09.png

ここでは、古いandroid OSのセキュリティ云々には触れないでおきます。
あくまでも自己責任で。

ぐっどらっこ。

私は、Outlookからメールを送るときはテキスト形式で送っています。
最近になって、ウェブ会議をしようとURLを送った時、それを受け取った相手がウェブ会議にうまく参加できないケースが何度か発生して、なんでだろう?と思って調べていたら、Outlookで送信するメールの本文が132文字で必ず改行が入ってしまっていて、これが原因で正しいURLにアクセスできていないことが原因でした。

じゃあ132より大きい値に設定すればいいじゃん!ということなのですが、Outlookのオプション設定の画面では132より大きい値を指定することができません。Outlook 2016、2019、365、みーーんなできません。

レジストリを変更すればOKということなので、やってみました。

レジストリエディタを起動し、
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\MailSettings
というキーに
 PlainWrapLen
という値がありますので、このデータを変更します。
今回は、10進の1024 にしました。

outlook_text_max_length1.png

レジストリエディタ終了後に確認したOutlookのオプション画面は以下のような感じです。

outlook_text_max_length2.png

この値を大きくしたことで、何か他の問題が起きないかドキドキな今日このごろです。

ぐっどらっこ。