Android11でEAP-TLS認証Wi-Fiを使う

Android11でEAP-TLS認証のWi-Fiに接続しようとしたら、サーバー証明書の更新が必要になったので、その際の作業内容を備忘録として記します。

AQUOS sense5G(SIMフリー版のSH-M17)を買いました。毛流麦花の行動範囲では5Gが使えるエリアは現時点ではほぼ皆無であり5G対応機種が必要だったわけではないものの、AQUOS sense5Gは、国内4大キャリア(ドコモ・KDDI・ソフトバンク・楽天)が使っているバンドについては、LTEについては1.5GHz帯(ドコモのband 21、KDDI・ソフトバンクのband 11)を除いては、ミドルレンジ機のAndroidでは珍しくband 42も含めてすべて対応しており(LTE band 1,3,8,18,19,28,41,42)、5Gについてもミリ波(n257)は未対応であるものの、Sub-6の周波数帯についてはn77/n78/n79とフル対応であり、さらにスウェーデンのキャリアで使われているLTE band 3,7,8,20,28,38にも対応している等々、申し分ないスペックだったので、購入しました。(対応バンドの豊富さではiPhone一択なのですが、iPhoneには電測アプリがなく、フィールドテストモードで確認することくらいしかできないので、ミドルレンジ機のAndroidで対応バンドが豊富なのは、本当にありがたい。)

ところが、自宅のEAP-TLS認証のWi-Fiに接続しようとしたところ接続できなかったので調べたところ、Android11ではサーバー証明書の更新が必要なことがわかり、以下の手順で接続できるようになりました。(AQUOS sense5Gは購入時からAndroid11がインストールされています。)

(1)サーバー証明書のsubjectAltNameにDNSを追記
Android11のWi-Fi設定画面は、以下のようになっており、CA証明書を使うときはドメインの入力が必須になっています。

これについては、サーバー証明書のsubjectAltNameにDNSを追記することで解決しました。server.cnfの追記・修正箇所を以下に示します。

[CA_default]
copy_extensions = copy

[req]
req_extensions = v3_req

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = example.com
DNS.2 = aaa.example.com

server.cnfを追記・修正してから、サーバー証明書を更新するべく、最初に既存のサーバー証明書をRevokeして(というかRevokeしないと新しいサーバー証明書を発行できない)、CRLを更新してから、追記修正したserver.cnfを使ってサーバー証明書を(再)発行し、CRLを更新してから、FreeRADIUSを再起動、という流れになりました。

ちなみに、サーバー証明書のsubjectAltNameにDNSが追加されたことは、以下のようにして確認できます。

# openssl x509 -in (サーバー証明書のファイル名) -text
(途中省略)
X509v3 Subject Alternative Name:
DNS:example.com, DNS:aaa.example.com, othername:<unsupported>
(途中省略)
#

(2)Wi-Fi設定
サーバー証明書を更新したら、端末にルート証明書(プライベート認証局、CA)とクライアント証明書をインストールした上で、Wi-Fi設定を行います。

設定→セキュリティ→詳細設定→暗号化と認証情報、とタップしていきます。

上記画面内の「ストレージからのインストール」をタップすると、以下の画面が出ます。
注意事項としては、ルート証明書(プライベート認証局、CA)、クライアント証明書のいずれもWi-Fi証明書としてインストールする必要があることです。「CA証明書」をタップしてプライベート認証局のルート証明書をインストールしてしまうと、意図した通りに設定できないので注意が必要です。(「CA証明書」をタップしてプライベート認証局のルート証明書をインストールすると、システムのCA証明書のユーザーストアにインストールされてしまい、後述のW-Fi設定時にCA証明書として選択することができません。Wi-Fi設定時のCA証明書の選択肢に「システム証明書」というのがあるものの、これはシステムのCA証明書のシステムストアのみらしく、ユーザーストアにインストールされたCA証明書は、「システム証明書」には含まれないみたいなので。)

上記画面で「Wi-Fi証明書」をタップして、最初にルート証明書をインストールします。ルート証明書は拡張子が異なるものがいくつかあると思いますが、拡張子PEMのものをインストールします。(拡張子P12のものだとインストールできませんでした。)

ルート証明書のインストールが終わったら上記画面に戻って再度「Wi-Fi証明書」をタップして、今度はクライアント証明書をインストールします。拡張子P12のものをインストールします。

「暗号化と認証情報」の設定画面の中の「ユーザー認証情報」をタップすると以下のように表示され、ルート証明書とクライアント証明書がインストールされたことが確認できます。

ルート証明書とクライアント証明書のインストールが完了したら、設定→ネットワークとインターネット→Wi-Fi→ネットワークを追加、とタップしていき、Wi-Fi設定を追加します。

設定内容は以下のようになります。

ネットワーク名:SSIDを入力します。

セキュリティ:WPA/WPA2/WPA3-Enterprise

EAP方式:TLS

CA証明書;さきほどインストールしたルート証明書を選択します。ここでは「root-certificate(CA)」を選択しています。

ドメイン:サーバー証明書のsubjectAltNameに追記したDNSを入力します。複数追記した場合は、その中のどれかを入力します。ここでは、aaa.exapmle.comを入力しました。

ユーザー証明書:さきほどインストールしたクライアント証明書を選択します。ここでは「client-certificate」を選択しています。

以上の内容を入力・選択してから「保存」すると、自宅のEAP-TLS認証のWi-Fiに接続することができ、作業完了となりました。

スポンサーリンク
error: Content is protected !!