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.
puerto de la solución VPN populares strongSwan oficial de Android 4+.
# # Características y las limitaciones
* Utiliza la API VpnService ofrecido por Android 4+. Dispositivos por algunos fabricantes parecen carecer de apoyo a esta - strongSwan Cliente VPN no funcionará en estos dispositivos!
* Utiliza el protocolo de intercambio de claves IKEv2 (IKEv1 no es compatible)
* Utiliza IPsec para el tráfico de datos (L2TP no es compatible)
* Soporte completo para cambio de conectividad y movilidad a través MOBIKE (o reautenticación)
* Compatible con nombre de usuario / contraseña de autenticación EAP (EAP-saber MSCHAPv2, EAP-MD5 y EAP-GTC), así como la autenticación de clave / certificado privada RSA / ECDSA para autenticar usuarios, EAP-TLS con certificados de cliente también es compatible
* Combined RSA / ECDSA y autenticación EAP se soporta mediante el uso de dos rondas de autenticación tal como se define en RFC 4739
* Certificados de servidor VPN se verifican contra los certificados de CA pre-instalado o está instalado por el usuario en el sistema. Los certificados de CA o el servidor utilizado para autenticar el servidor también se pueden importar directamente en la aplicación.
* IKEv2 fragmentación se admite si el servidor VPN soporta (strongSwan lo hace desde 5.2.1)
* Split-túnel permite el envío único cierto tráfico a través de la VPN y / o exclusión de tráfico específico de ella
* Por aplicación de VPN permite limitar la conexión VPN para aplicaciones específicas, o excluirlas de usarlo
* La implementación de IPsec es compatible actualmente con el AES-CBC, AES-GCM, ChaCha20 / Poly1305 y algoritmos SHA1 / SHA2
* Las contraseñas se almacenan en la actualidad como texto plano en la base de datos (sólo si se almacena con un perfil)
* perfiles VPN pueden importarse de archivos (esta es la única razón por la aplicación solicita android.permission.READ_EXTERNAL_STORAGE)
Detalles y una lista de cambios se pueden encontrar en nuestra wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# Ejemplo CONFIGURACIÓN DEL SERVIDOR #
ejemplos de configuraciones de servidor pueden encontrarse en nuestro wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration
Tenga en cuenta que el nombre de host (o dirección IP) configurado con un perfil VPN en la aplicación * * deben ser contenidos en el certificado de servidor como una extensión subjectAltName.
# REALIMENTACIÓN #
Por favor, informes de errores y solicitudes de funciones en nuestro wiki: https://wiki.strongswan.org/projects/strongswan/issues
Si lo hace, por favor incluya información sobre el dispositivo (fabricante, modelo, versión del sistema operativo, etc.).
El archivo de registro escrito por el servicio de intercambio de claves puede ser enviada directamente desde la aplicación.