VPN(IKEv2)サーバーでLet’s Encryptの証明書を使っている場合にAndroidスマホから接続できないとき

ALL
スポンサーリンク

Linux上で、strongswanでIKEv2形式のVPNサーバーを立て、使用する証明書を Let’s Encrypt で作成している場合に、AndroidスマホからVPN接続が失敗するときは、本記事の内容を確認してみてください。
(VPNサーバーの設定については次の記事になります)

VPN(IKEv2)サーバーの設定(strongswan5.7以前/5.8以降で旧設定) – パソコン鳥のブログ
VPN(IKEv2)サーバーの設定(strongswan5.8以降) – パソコン鳥のブログ
UbuntuでのVPN(IKEv2)サーバの設定(strongswan charon-systemd 版) – パソコン鳥のブログ

こちらで確認した限りでは、Let’s Encrypt で作成する証明書が次の場合に、AndroidスマホからのVPN接続が失敗しました。

・ワイルドカード証明書になっている
・暗号方式が ECDSA になっている

ワイルドカード証明書の作成方法は次の記事の通りですが、このような証明書では、AndroidからのVPN接続時に「失敗しました」の表示になって接続が失敗しました。

Let’s Encryptでワイルドカード証明書の取得方法 – パソコン鳥のブログ

ワイルドカード証明書になっていない場合でも、暗号方式が ECDSA になっていると、VPN接続が「接続中」のままになり接続ができません。
以前は暗号方式のデフォルトが RSA だったのですが、最近は ECDSA がデフォルトになったようです。

Let’s Encrypt の certbot で証明書作成する際に、certonlyコマンドのオプションに –key-type rsa を指定すると、RSA形式になります。
この暗号化方式だと、VPN接続できるようになります。

なお、WindowsからVPN接続する場合は、Let’s Encrypt の証明書がワイルドカード証明書でも、暗号化方式がECDSAでも、問題なく接続できます。

コメント