Official Android 4+ port of the popular strongSwan VPN solution.
# FEATURES AND LIMITATIONS #
* Uses the VpnService API featured by Android 4+. Devices by some manufacturers seem to lack support for this - strongSwan VPN Client won't work on these devices!
* Uses the IKEv2 key exchange protocol (IKEv1 is not supported)
* Uses IPsec for data traffic (L2TP is not supported)
* Full support for changed connectivity and mobility through MOBIKE (or reauthentication)
* Supports username/password EAP authentication (namely EAP-MSCHAPv2, EAP-MD5 and EAP-GTC) as well as RSA/ECDSA private key/certificate authentication to authenticate users, EAP-TLS with client certificates is also supported
* Combined RSA/ECDSA and EAP authentication is supported by using two authentication rounds as defined in RFC 4739
* VPN server certificates are verified against the CA certificates pre-installed or installed by the user on the system. The CA or server certificates used to authenticate the server can also be imported directly into the app.
* IKEv2 fragmentation is supported if the VPN server supports it (strongSwan does so since 5.2.1)
* Split-tunneling allows sending only certain traffic through the VPN and/or excluding specific traffic from it
* Per-app VPN allows limiting the VPN connection to specific apps, or exclude them from using it
* The IPsec implementation currently supports the AES-CBC, AES-GCM, ChaCha20/Poly1305 and SHA1/SHA2 algorithms
* Passwords are currently stored as cleartext in the database (only if stored with a profile)
* VPN profiles may be imported from files (this is the only reason why the app requests android.permission.READ_EXTERNAL_STORAGE)
Details and a changelog can be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# EXAMPLE SERVER CONFIGURATION #
Example server configurations may be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration
Please note that the host name (or IP address) configured with a VPN profile in the app *must be* contained in the server certificate as subjectAltName extension.
# FEEDBACK #
Please post bug reports and feature requests on our wiki: https://wiki.strongswan.org/projects/strongswan/issues
If you do so, please include information about your device (manufacturer, model, OS version etc.).
The log file written by the key exchange service can be sent directly from within the application.
port ufficiale Android 4+ della popolare soluzione di strongSwan VPN.
# CARATTERISTICHE E LIMITAZIONI #
* Utilizza l'API VpnService caratterizzato da Android 4+. I dispositivi da parte di alcuni produttori sembrano mancare il supporto per questo - strongSwan VPN client non funziona su questi dispositivi!
* Utilizza il protocollo di scambio chiave IKEv2 (IKEv1 non è supportato)
* Utilizza IPsec per il traffico dati (L2TP non è supportato)
* Pieno supporto per la connettività mutato e della mobilità attraverso MOBIKE (o riautenticazione)
* Supporta nome utente / password di autenticazione EAP (vale a dire EAP-MSCHAPv2, EAP-MD5 e EAP-GTC), così come l'autenticazione a chiave / certificato privata RSA / ECDSA per autenticare gli utenti, EAP-TLS con certificati client è anche supportato
* Combinata RSA / ECDSA e autenticazione EAP è supportata utilizzando due turni di autenticazione come definito in RFC 4739
* Certificati server VPN sono verificati contro i certificati CA pre-installate o installate dall'utente sul sistema. I certificati CA o server utilizzato per autenticare il server possono anche essere importati direttamente in app.
* Frammentazione IKEv2 è supportato se il server VPN supporta (strongSwan fa dal 5.2.1)
* Split-tunneling permette di inviare solo determinato traffico attraverso la VPN e / o escludendo traffico specifico da esso
* Per-app VPN permette di limitare la connessione VPN per applicazioni specifiche, o escluderli dalla usarlo
* L'implementazione di IPsec supporta attualmente l'AES-CBC, AES-GCM, ChaCha20 / Poly1305 e gli algoritmi SHA1 / SHA2
* Le password sono attualmente memorizzati come testo in chiaro nel database (solo se conservato con un profilo)
* profili VPN possono essere importati da file (questo è l'unico motivo per cui l'applicazione richiede android.permission.READ_EXTERNAL_STORAGE)
Dettagli e un changelog possono essere trovate sul nostro wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# ESEMPIO CONFIGURAZIONE DEL SERVER #
configurazioni di server Esempio possono essere trovate sul nostro wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration
Si prega di notare che il nome host (o indirizzo IP) configurato con un profilo VPN in app * * devono essere contenuti nel certificato del server come estensione subjectAltName.
# RISPOSTA #
Si prega di inviare segnalazioni di bug e richieste di nuove funzioni sul nostro wiki: https://wiki.strongswan.org/projects/strongswan/issues
In tal caso, si prega di includere informazioni sul dispositivo (produttore, modello, versione del sistema operativo, ecc).
Il file di registro scritta dal servizio di scambio di chiave possono essere inviati direttamente dall'interno dell'applicazione.