Афіцыйны Android-порт папулярнага рашэння strongSwan VPN.
# АСАБЛІВАСЦІ І АБМЕЖАВАННІ #
* Выкарыстоўвае API VpnService, прадстаўлены Android 4+. Здаецца, прылады некаторых вытворцаў не падтрымліваюць гэта - кліент strongSwan VPN не будзе працаваць на гэтых прыладах!
* Выкарыстоўвае пратакол абмену ключамі IKEv2 (IKEv1 *не* падтрымліваецца)
* Выкарыстоўвае IPsec для трафіку дадзеных (L2TP *не* падтрымліваецца)
* Поўная падтрымка змененага падключэння і мабільнасці праз MOBIKE (або паўторная аўтэнтыфікацыя)
* Падтрымка аўтэнтыфікацыі па імені карыстальніка/паролю EAP (а менавіта EAP-MSCHAPv2, EAP-MD5 і EAP-GTC), а таксама аўтэнтыфікацыі прыватнага ключа/сертыфіката RSA/ECDSA для аўтэнтыфікацыі карыстальнікаў, таксама падтрымліваецца EAP-TLS з кліенцкімі сертыфікатамі
* Камбінаваная аўтэнтыфікацыя RSA/ECDSA і EAP падтрымліваецца з выкарыстаннем двух раўндаў аўтэнтыфікацыі, як гэта вызначана ў RFC 4739
* Сертыфікаты сервера VPN правяраюцца ў адпаведнасці з сертыфікатамі ЦС, прадусталяванымі або ўсталяванымі карыстальнікам у сістэме. Сертыфікаты ЦС або сервера, якія выкарыстоўваюцца для аўтэнтыфікацыі сервера, таксама можна імпартаваць непасрэдна ў праграму.
* Фрагментацыя IKEv2 падтрымліваецца, калі гэта падтрымлівае сервер VPN (strongSwan робіць гэта з 5.2.1)
* Спліт-тунэляванне дазваляе адпраўляць толькі пэўны трафік праз VPN і/або выключаць пэўны трафік з яго
* VPN для кожнай праграмы дазваляе абмежаваць VPN-злучэнне пэўнымі праграмамі або забараніць іх выкарыстоўваць
* У цяперашні час рэалізацыя IPsec падтрымлівае алгарытмы AES-CBC, AES-GCM, ChaCha20/Poly1305 і SHA1/SHA2
* Паролі ў цяперашні час захоўваюцца ў выглядзе адкрытага тэксту ў базе дадзеных (толькі калі захоўваюцца з профілем)
* Профілі VPN можна імпартаваць з файлаў
* Падтрымка кіраваных канфігурацый праз кіраванне мабільнасцю прадпрыемства (EMM)
Падрабязнасці і журнал змяненняў можна знайсці ў нашых дакументах: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html
# ДАЗВОЛЫ #
* READ_EXTERNAL_STORAGE: Дазваляе імпартаваць профілі VPN і сертыфікаты ЦС з вонкавага сховішча на некаторых версіях Android
* QUERY_ALL_PACKAGES: Патрабуецца на Android 11+ для выбару праграм для экс-/уключэння ў профілі VPN і дадатковы варыянт выкарыстання EAP-TNC
# ПРЫКЛАД КАНФІГУРАЦЫІ СЕРВЕРА #
Прыклады канфігурацый сервера можна знайсці ў нашых дакументах: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration
Калі ласка, звярніце ўвагу, што імя хаста (ці IP-адрас), наладжанае з профілем VPN у дадатку, *павінна* змяшчацца ў сертыфікаце сервера як пашырэнне subjectAltName.
# ВОДГУК #
Калі ласка, размяшчайце справаздачы аб памылках і запыты на функцыі праз GitHub: https://github.com/strongswan/strongswan/issues/new/choose
Калі вы гэта зробіце, уключыце інфармацыю аб сваёй прыладзе (вытворца, мадэль, версія АС і г.д.).
Файл часопіса, запісаны службай абмену ключамі, можна адправіць непасрэдна з прыкладання.