Android用公式OpenVPNクライアントで接続できなくなった場合の解決法
- 2019.08.15
- Android
- Android, Android端末をVPNサーバーとして利用する, OpenVPN, Servers Ultimate, VPN, サーバー, ソフトウェア, ネットワーク, まとめ
必死にいろいろやってやっと使えるようになったOpenVPNですが、いつの間にかAndroid用公式OpenVPNクライアント、OpenVPN Connectで接続できなくなってしまいました。
接続が不可能に・・・
久々に動作チェックも兼ねてOpenVPN経由での接続を試したわけですが、接続できなくなっていました。
その際でたエラーは、
There was an error attempting to connect to the selected server. Error message mbed TLS: SSL read error : X509 - Certificate verification failed. e.g. CRL, CA or signature check failed.
です。
まぁ要するに証明書周りがダメだよ的な感じです。多分。
おそらく原因はOpenVPN ConnectのアップデートによるMD5署名アルゴリズムのサポート停止
直近のアップデートでMD5署名アルゴリズムのサポートが打ち切られました。
最低SHA256以上ではないと使えないようなのでOpenVPN Connectを利用したいのならばSHA256以上のハッシュアルゴリズムを採用しましょう。
ということでセキュリティを高めよう
自分が利用しているOpenVPNサーバーでハッシュアルゴリズムを選択できるのならばSHA256以上のものを選択して証明書を作成すればOKです。
設定出来ず、低セキュリティなアルゴリズムしか利用できない場合は証明書を自分で作成したものに差し替えることで接続できるようになる可能性があります。
証明書の作成自体はそこまで難しくありませんが、それまでの手順が手間で面倒なのでそれが嫌な方は下の解決策を検討してみてください。
別のクライアントを利用することで(一応)解決
本来はどう考えてもセキュリティを高めることが正しいのですが、面倒な場合は別のAndroid用OpenVPNクライアントを利用することで解決します。
公式ではありませんが、オープンソースのクライアントですし、公式と同じくらい利用されているので問題はないでしょう。むしろ公式のものよりも高機能で色々できそうです。
使い方
.opvnファイルを利用する場合は右上の箱に↓が書かれたようなマークをタップし.opvnファイルを選択します。
プロファイル名を適当につけます。
.opvnファイルを指定しているのだから証明書の類も設定してくれれば良いのですが、してくれないので自分で指定します。
CA証明書にca.crtを、クライアント証明書にclient.crtを、クライアント証明書のキーにclient.keyを選択し右上のチェックをタップします。
あとは完成したプロファイルをタップし、ユーザー名とパスワードを入力すれば低セキュリティでも接続できるはずです。
ということで、別クライアントを利用することで解決しました。
とはいっても公式が低セキュリティを使うなと言っているので、別クライアントでも使えなくなる可能性は非常に高いと思います。
なので手間ではありますが、証明書を自前で用意することをおすすめします。
-
前の記事
このブログのシステムを再考してみる WordPressを移行する編 2019.08.14
-
次の記事
GooglePayかApplePayでJCBカードQUICPayを利用すると20%還元 2019年12月15日まで 2019.08.16