1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. Black NEXUS, 25.03.2013 #1
    Black NEXUS

    Black NEXUS Threadstarter Android-Hilfe.de Mitglied

    Hiho,

    ich habe momentan ein Problem, was den manuellen Verbindungsaufbau in ein spezielles WiFi Netz angeht. Urprünglich war es ja so, dass sich ein Mitarbeiter mit seinem Kürzel und seinem Passwort anmelden musste und diese Daten wurden mit dem AD abgeglichen. Nun haben wir aber das Problem, dass es aus Sicherheitsgründen so nicht umgesetzt werden kann...

    Als einzige Alternative bleibt, dass sich der Mitarbeiter temporär im sog. Projekt WLAN anmelden muss, da dieser aber keinen Zugriff auf die Einstellungen bekommen darf, muss es in der App passieren. Er gibt seine Daten ganz normal ein und es wird eine Verbindung hergestellt.

    Nun hab ich das Problem, dass ich nicht weis wie ich das genau realisieren soll, die meisten Tutorials sind auf WEP ausgelegt, wir nutzen aber folgendes:
    Sicherheit: 802.1x EAP
    EAP-Methode: PEAP
    Phase 2-Authentifizierung: MSCHAPV2
    Keine Zertifikate
    Identifikation + Passwort

    Wichtig ist, dass diese Verbindung wirklich nur temporär ist, damit kein anderer mit diesen Benutzerdaten handtieren kann. Dafür verwende ich eine Session, nach 3 Minuten Inaktivität wird man automatisch abgemeldet, wenn man es nicht selber vorher tut. Die Zugangsdaten dürfen nicht gespeichert werden!

    Hat jemand einen Ansatz, wie ich an die Sache herangehen kann? Hab noch keine Erfahrung wie man sich manuell in WiFi Netzwerke einbinden kann, bisher kenne ich nur die Kommunikation via REST.

    Ich danke schon mal für hilfreiche Antworten :)
     
  2. deek, 25.03.2013 #2
    deek

    deek Android-Experte

    Sehr gute Frage! :thumbup:

    Ich habe das auch mal versucht, allerdings mit WPA statt EAP.

    Hier ist mal ein netter Stackoverflow Beitrag: How to connect to a specific wifi network in Android programmatically? - Stack Overflow
    Das hilft schonmal grundsätzlich weiter.

    Dann gibt es noch diesen Beitrag:
    How to programatically create and read WEP/EAP WiFi configurations in Android? - Stack Overflow
    der speziell auch auf EAP eingeht. Aufpassen solltest du hier allerdings, dass du nicht WifiManager.saveConfiguration() aufrufst, denn du willst es ja nicht dauerhaft speichern. Ohne saveConfiguration ist die Verbindung nicht dauerhaft gespeichert.

    Es sieht auf den ersten Blick sehr kompliziert aus, wegen der Reflection, aber wenn du weitere Fragen hast nur zu.
     
    Black NEXUS gefällt das.
  3. Black NEXUS, 26.03.2013 #3
    Black NEXUS

    Black NEXUS Threadstarter Android-Hilfe.de Mitglied

    Danke, ich werd es mir mal zu Gemüte führen :)
     
  4. Black NEXUS, 02.04.2013 #4
    Black NEXUS

    Black NEXUS Threadstarter Android-Hilfe.de Mitglied

    Hiho,

    also ich habe heute mal bissel herumgesucht und bin auf BUWiFi gestoßen, welches alle nötigen Klassen mitliefert. Kleinere Anpassungen waren nötig und es besteht nun eine funktionierende Verbindung zum Netzwerk :)

    Lediglich die NetworkConfig.java musste ich wie folgt erweitern:
    Code:
    public void setGroupCiphers(int v){
                    this.config.allowedGroupCiphers.set(v);
            }
           
            public void setGroupCiphers(int[] v){
                    for(int i : v)
                      this.setGroupCiphers(i);
            }
    Desweiteren musste dann der Code in der Activity noch erweitert werden:
    Code:
    netConfig.setKeyManagement(new int[]{WifiConfiguration.KeyMgmt.IEEE8021X,WifiConfiguration.KeyMgmt.WPA_EAP});
    
    netConfig.setGroupCiphers(new int[]{WifiConfiguration.GroupCipher.CCMP,WifiConfiguration.GroupCipher.TKIP,WifiConfiguration.GroupCipher.WEP104,WifiConfiguration.GroupCipher.WEP40});
    Läuft einwandfrei, bin zufrieden :D
    Ohne diese Erweiterungen ging es nicht, kann nicht sagen warum, aber er hat die Verbindung gespeichert aber konnte sich nicht verbinden.

    Nochmals großen Dank für die Hilfe ;)
     
    Zuletzt bearbeitet: 02.04.2013
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[OFFEN] mysql Abfrage über App? Android App Entwicklung 17.12.2017
Peer2Peer auch ohne Wifi, Bluetooth und Server? Android App Entwicklung 10.12.2017
Android App mit Raspberry Pi über Bluetooth verbinden Android App Entwicklung 18.11.2017
[ERLEDIGT] Verbindung zu MS SQL DB von App aus möglich? Android App Entwicklung 05.09.2017
[ERLEDIGT] Listview mit Datenbank über Custom ArrayList verbinden Android App Entwicklung 22.04.2017
Du betrachtest das Thema "Manuell eine temporäre Verbindung zum WiFi aufbauen" im Forum "Android App Entwicklung",