web-dev-qa-db-fra.com

Méthode pour transmettre le nom d'utilisateur et le mot de passe dans VpnService.Builder 

Je développe l'application dans laquelle je souhaite utiliser un réseau VPN. pour créer un réseau VPN dans un périphérique, nous devons le configurer à partir du menu (paramètres-sans fil et réseau-VPN) du périphérique.

Je veux faire autant de réglages via un code avec des informations codées en dur.

À partir du niveau 4.0 de l'API, Android fournit une API pour gérer les services VPN .

Pour connaître l'implémentation de cette méthode, j'ai utilisé le projet Sample de Android ToyVPN. Mais dans toutes ces méthodes, je n’ai trouvé aucune méthode pour transmettre le nom d’utilisateur et le mot de passe. informations que je dois connecter au réseau VPN est.

  1. Nom du serveur VPN
  2. Username
  3. Mot de passe

En utilisant ces trois informations, je parviens à me connecter au réseau VPN si je configure manuellement à partir d’un périphérique. Mais je veux le faire par programme. Voici le fichier de classe utilisé pour se connecter au réseau VPN. ToyVpnClient.Java et ToyVpnService.Java . en plus de cet exemple d'application se bloque dans l'appareil.

Toute aide serait appréciée.

20
Juned

Le VpnService dont vous parlez n’est pas ce que vous pensez. C'est juste un cadre pour vous permettre de créer votre propre solution VPN. Une fois établie, vous obtenez toutes les communications sur la couche réseau (IP) et vous pouvez faire tout ce que vous voulez, par exemple, les chiffrer et les envoyer à votre serveur - le projet ToyVpn, par exemple, se trouve dans/samples/Android-14/répertoire. Vous avez également besoin d'un code personnel côté serveur pour effectuer le déchiffrement et le routage nécessaire du trafic.

Malheureusement, vous ne pouvez pas définir le VPN Android intégré par programme. Le mieux que vous puissiez faire est de montrer à l'utilisateur une boîte de dialogue expliquant comment la définir, puis d'afficher les paramètres système avec le bon écran.

4
cermak.cz

Il est possible d'utiliser l'API interne Android.jar (com.Android.internal) et cachée (@hide). Reportez-vous au lien ci-dessous:

Comment créer par programme une nouvelle interface VPN avec Android 4.0?

0
Raghav Sharma