Suositun strongSwan VPN -ratkaisun virallinen Android-portti.

# OMINAISUUDET JA RAJOITUKSET #

* Käyttää Android 4+:n tarjoamaa VpnService API:ta. Joidenkin valmistajien laitteilta ei näytä olevan tukea tälle - strongSwan VPN Client ei toimi näissä laitteissa!
* Käyttää IKEv2-avaimenvaihtoprotokollaa (IKEv1:tä *ei* tueta)
* Käyttää IPsec-tietoliikennettä (L2TP:tä *ei* tueta)
* Täysi tuki muuttuneille yhteyksille ja liikkuvuudelle MOBIKEn (tai uudelleentodennuksen) kautta
* Tukee käyttäjänimen/salasanan EAP-todennusta (eli EAP-MSCHAPv2, EAP-MD5 ja EAP-GTC) sekä RSA/ECDSA:n yksityistä avainta/varmennetodennusta käyttäjien todentamiseksi, EAP-TLS asiakasvarmenteilla on myös tuettu
* Yhdistettyä RSA/ECDSA- ja EAP-todennusta tuetaan käyttämällä kahta RFC 4739:ssä määriteltyä todennuskierrosta
* VPN-palvelinvarmenteet verrataan käyttäjän järjestelmään esiasentamiin tai asentamiin CA-varmenteisiin. Palvelimen todentamiseen käytetyt CA- tai palvelinsertifikaatit voidaan myös tuoda suoraan sovellukseen.
* IKEv2-fragmentointia tuetaan, jos VPN-palvelin tukee sitä (strongSwan tekee niin versiosta 5.2.1 lähtien)
* Jaettu tunnelointi mahdollistaa vain tietyn liikenteen lähettämisen VPN:n kautta ja/tai tietyn liikenteen poissulkemisen siitä
* Sovelluskohtainen VPN mahdollistaa VPN-yhteyden rajoittamisen tiettyihin sovelluksiin tai niiden käytön sulkemisen pois
* IPsec-toteutus tukee tällä hetkellä AES-CBC-, AES-GCM-, ChaCha20/Poly1305- ja SHA1/SHA2-algoritmeja
* Salasanat tallennetaan tällä hetkellä selkeänä tekstinä tietokantaan (vain jos ne on tallennettu profiiliin)
* VPN-profiileja voidaan tuoda tiedostoista
* Tukee hallittuja määrityksiä yrityksen mobiilihallinnan (EMM) kautta

Yksityiskohdat ja muutosloki löytyvät asiakirjoistamme: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html

# LUVAT #

* READ_EXTERNAL_STORAGE: Mahdollistaa VPN-profiilien ja CA-varmenteiden tuomisen ulkoisesta tallennustilasta joissakin Android-versioissa
* QUERY_ALL_PACKAGES: Vaaditaan Android 11+ -käyttöjärjestelmässä VPN-profiileihin sisällytettävien sovellusten valitsemiseen ja valinnaiseen EAP-TNC-käyttötapaukseen

# ESIMERKKI PALVELINMÄÄRITYS #

Esimerkkejä palvelinkokoonpanoista löytyy asiakirjoistamme: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration

Huomaa, että sovelluksessa VPN-profiililla määritetty isäntänimi (tai IP-osoite) *on sisällytettävä* palvelinvarmenteeseen SubjectAltName-laajennuksella.

# PALAUTE #

Lähetä virheraportit ja ominaisuuspyynnöt GitHubin kautta: https://github.com/strongswan/strongswan/issues/new/choose
Jos teet niin, liitä mukaan tiedot laitteestasi (valmistaja, malli, käyttöjärjestelmäversio jne.).

Avaimenvaihtopalvelun kirjoittama lokitiedosto voidaan lähettää suoraan sovelluksesta.