strongSwan VPN Client App
Port oficial do Android da popular solução VPN strongSwan.
RECURSOS E LIMITAÇÕES
- Utiliza a API VpnService disponível no Android 4+. Dispositivos de alguns fabricantes parecem não ter suporte para isso - o cliente VPN strongSwan não funcionará nesses dispositivos!
- Utiliza o protocolo de troca de chaves IKEv2 (IKEv1 não é suportado)
- Utiliza IPsec para tráfego de dados (L2TP não é suportado)
- Suporte total para conectividade alterada e mobilidade através do MOBIKE (ou reautenticação)
- Suporta autenticação EAP com nome de usuário/senha (nomeadamente EAP-MSCHAPv2, EAP-MD5 e EAP-GTC), bem como autenticação com chave/certificado privado RSA/ECDSA para autenticar usuários, EAP-TLS com certificados de cliente também é suportado
- A autenticação combinada RSA/ECDSA e EAP é suportada utilizando duas rodadas de autenticação conforme definido na RFC 4739
- Os certificados do servidor VPN são verificados em relação aos certificados CA pré-instalados ou instalados pelo usuário no sistema. Os certificados CA ou do servidor usados para autenticar o servidor também podem ser importados diretamente para o aplicativo.
- A fragmentação IKEv2 é suportada se o servidor VPN a suportar (strongSwan faz isso desde a versão 5.2.1)
- O split-tunneling permite enviar apenas determinado tráfego pela VPN e/ou excluir tráfego específico dela
- VPN por aplicativo permite limitar a conexão VPN a aplicativos específicos ou excluí-los de usá-la
- A implementação do IPsec atualmente suporta os algoritmos AES-CBC, AES-GCM, ChaCha20/Poly1305 e SHA1/SHA2
- As senhas são atualmente armazenadas como texto claro no banco de dados (somente se armazenadas com um perfil)
- Perfis VPN podem ser importados de arquivos
Detalhes e um changelog podem ser encontrados em nossa documentação: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html
PERMISSÕES
- READ_EXTERNAL_STORAGE: Permite importar perfis VPN e certificados CA do armazenamento externo em algumas versões do Android
- QUERY_ALL_PACKAGES: Necessário no Android 11+ para selecionar aplicativos a serem incluídos/excluídos nos perfis VPN e no caso de uso opcional EAP-TNC
CONFIGURAÇÃO DE SERVIDOR DE EXEMPLO
Configurações de exemplo de servidor podem ser encontradas em nossa documentação: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration
Por favor, note que o nome do host (ou endereço IP) configurado com um perfil VPN no aplicativo deve estar contido no certificado do servidor como extensão subjectAltName.
FEEDBACK
Por favor, envie relatórios de bugs e solicitações de recursos via GitHub: https://github.com/strongswan/strongswan/issues/new/choose
Se você fizer isso, por favor inclua informações sobre seu dispositivo (fabricante, modelo, versão do SO etc.).
O arquivo de log escrito pelo serviço de troca de chaves pode ser enviado diretamente de dentro do aplicativo.










