strongSwan VPN Client アプリ
人気のstrongSwan VPNソリューションの公式Androidポートです。
機能と制限
- Android 4以降のVpnService APIを使用しています。一部のメーカーのデバイスではこのサポートが欠けているようです - これらのデバイスではstrongSwan VPNクライアントが動作しません!
- IKEv2鍵交換プロトコルを使用しています(IKEv1はサポートされていません)
- データトラフィックにはIPsecを使用しています(L2TPはサポートされていません)
- MOBIKE(または再認証)を通じて変更された接続性とモビリティを完全にサポートします
- ユーザー名/パスワードEAP認証(具体的にはEAP-MSCHAPv2、EAP-MD5、EAP-GTC)およびRSA/ECDSAプライベートキー/証明書認証をサポートし、クライアント証明書を用いたEAP-TLSもサポートしています
- RFC 4739で定義された2回の認証ラウンドを使用することで、RSA/ECDSAとEAPの組み合わせ認証がサポートされています
- VPNサーバー証明書は、システムにプリインストールされたCA証明書またはユーザーによってインストールされたCA証明書に対して検証されます。サーバーを認証するために使用されるCAまたはサーバー証明書は、アプリに直接インポートすることもできます。
- VPNサーバーがサポートしている場合、IKEv2フラグメンテーションがサポートされています(strongSwanは5.2.1以降これをサポートしています)
- スプリットトンネリングにより、特定のトラフィックのみをVPN経由で送信したり、特定のトラフィックを除外したりできます
- アプリごとのVPNにより、特定のアプリにVPN接続を制限したり、使用を除外したりできます
- 現在のIPsec実装は、AES-CBC、AES-GCM、ChaCha20/Poly1305およびSHA1/SHA2アルゴリズムをサポートしています
- パスワードは現在、データベースにクリアテキストとして保存されています(プロファイルに保存される場合のみ)
- VPNプロファイルはファイルからインポートできます
詳細および変更履歴は、私たちのドキュメントで確認できます: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html
権限
- READ_EXTERNAL_STORAGE: 一部のAndroidバージョンで外部ストレージからVPNプロファイルおよびCA証明書をインポートすることを許可します
- QUERY_ALL_PACKAGES: Android 11以降、VPNプロファイルに含めるアプリを選択するために必要です
サーバー設定の例
サーバー設定の例は、私たちのドキュメントで確認できます: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration
アプリ内のVPNプロファイルで設定されたホスト名(またはIPアドレス)は、サーバー証明書のsubjectAltName拡張に含まれている必要があります。
フィードバック
バグレポートや機能リクエストはGitHubを通じて投稿してください: https://github.com/strongswan/strongswan/issues/new/choose
その際、デバイスに関する情報(メーカー、モデル、OSバージョンなど)を含めてください。
鍵交換サービスによって書き込まれたログファイルは、アプリケーション内から直接送信できます。










