it-swarm.com.de

Richten Sie die Wifi-Proxy-Anmeldeinformationen programmgesteuert ein

Die App wird mit der Systemsignatur signiert, sodass am Ende einige geschützte Berechtigungen (wie Android.permission.WRITE_SECURE_SETTINGS) erteilt werden können. 

Meine Frage ist dann, wie man Anmeldeinformationen global für einen Proxy in einem bestimmten WLAN-Netzwerk einrichtet und weiß, dass die App mit der Systemsignatur signiert wird.

Ich kann keine Informationen dazu finden. Je nachdem, was in einer Java-Standardanwendung möglich ist, kann der folgende Code funktionieren:

        System.setProperty("http.proxyUser", usr);
        System.setProperty("http.proxyPassword", pwd);

Aber ist es der Weg, Proxy-Anmeldeinformationen für Android festzulegen? Werden globale Proxy-Anmeldeinformationen festgelegt (d. H. Für alle Apps, die die Standard-http-Unterstützung verwenden)? (IMO, auch wenn dieser Aufruf funktioniert, ändert sich nichts außerhalb der Prozessgrenze)

Ich habe auch den Code von Android.provider.Settings.Java überprüft, in dem ich einige Eigenschaften über den globalen Proxy gefunden habe: global_http_proxy_Host und global_http_proxy_port, aber nichts über die Proxy-Authentifizierung.

13
ben75

Android verwendet System.setSystemProp, um den Proxy in frameworks/base/core/Java/Android/net/Proxy.Java einzustellen

Ich denke, Sie können dasselbe tun, wenn Sie Systemprivilegien haben.

Ich bin nicht sicher, ob es Android.webkit betrifft.

6
rds

Es gibt keine Möglichkeit, globale Proxy-Anmeldeinformationen in Android festzulegen. Es gibt einfach keine Struktur im gesamten AOSP, die es halten kann. 

Leider konnte ich dafür keine Erklärung finden. Relevante Issue Tracker-Elemente sind nicht öffentlich, Kommentare im Quellcode sind rar. Es gibt nichts im Entwickler-Blog zu diesem Thema. Embedded Android von Karim Yaghmour gibt auch keine Aufschluss über das Problem.

P.S. Diese Antwort basiert ausschließlich auf der Code-Analyse. 

Sie können die Datei ipconfig.txt in Ihrem Verzeichnis/data/misc/wifi ändern (das Verzeichnis hängt vom Gerätemodell ab), wenn Sie über Signaturrechte verfügen. Weitere Informationen finden Sie in der readIpAndProxyConfigurations-Methode in WifiConfigStore . Ich weiß, dass diese Methode ziemlich grob ist, aber sie funktioniert auf meinen Firmentelefonen. Bitte beachten Sie, dass bei einigen Telefonmodellen nach dem Ändern der Datei ipconfig.txt möglicherweise WLAN deaktiviert und der Prozess wpa_supplicant erneut gestartet werden muss

0
ErDo