Android用公式OpenVPNクライアントで接続できなくなった場合の解決法

Android端末をVPNサーバーとして利用する 総まとめ 完全版

Android端末をVPNサーバーとして利用する 総まとめ

Android端末で建てたVPNサーバーを何故か接続できない所で接続できるようにする記事 完全解決編

必死にいろいろやってやっと使えるようになったOpenVPNですが、いつの間にかAndroid用公式OpenVPNクライアント、OpenVPN Connectで接続できなくなってしまいました。

Advertisement

接続が不可能に・・・

久々に動作チェックも兼ねて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以上のハッシュアルゴリズムを採用しましょう。

Advertisement

ということでセキュリティを高めよう

Android端末をVPNサーバーとして利用する 証明書低セキュリティ問題解決編

自分が利用しているOpenVPNサーバーでハッシュアルゴリズムを選択できるのならばSHA256以上のものを選択して証明書を作成すればOKです。

設定出来ず、低セキュリティなアルゴリズムしか利用できない場合は証明書を自分で作成したものに差し替えることで接続できるようになる可能性があります。

証明書の作成自体はそこまで難しくありませんが、それまでの手順が手間で面倒なのでそれが嫌な方は下の解決策を検討してみてください。

別のクライアントを利用することで(一応)解決

本来はどう考えてもセキュリティを高めることが正しいのですが、面倒な場合は別のAndroid用OpenVPNクライアントを利用することで解決します。

公式ではありませんが、オープンソースのクライアントですし、公式と同じくらい利用されているので問題はないでしょう。むしろ公式のものよりも高機能で色々できそうです。

使い方

.opvnファイルを利用する場合は右上の箱に↓が書かれたようなマークをタップし.opvnファイルを選択します。

プロファイル名を適当につけます。

.opvnファイルを指定しているのだから証明書の類も設定してくれれば良いのですが、してくれないので自分で指定します。

CA証明書にca.crtを、クライアント証明書にclient.crtを、クライアント証明書のキーにclient.keyを選択し右上のチェックをタップします。

あとは完成したプロファイルをタップし、ユーザー名とパスワードを入力すれば低セキュリティでも接続できるはずです。

Advertisement

ということで、別クライアントを利用することで解決しました。

とはいっても公式が低セキュリティを使うなと言っているので、別クライアントでも使えなくなる可能性は非常に高いと思います。

なので手間ではありますが、証明書を自前で用意することをおすすめします。