sirven que para metodo los identidad eduroam eap descargar conectarse como certificados certificado anonima android configuration wifi

que - Android: ¿Cómo crear la configuración wifi EAP programáticamente?



metodo eap wifi android (3)

Sé cómo crear la configuración de Open / WEP / PSK / PSK2 programáticamente.

ex.

WifiConfiguration conf = new WifiConfiguration(); conf.SSID = "ssid"; conf.preSharedKey = "/"password/""; conf.status = WifiConfiguration.Status.ENABLED; conf.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN); conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP104); conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP); conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP); conf.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); conf.allowedProtocols.set(WifiConfiguration.Protocol.WPA); conf.allowedProtocols.set(WifiConfiguration.Protocol.RSN); int res = wifi.addNetwork(conf); boolean b = wifi.enableNetwork(res, true);

¿Pero cómo creo uno para ''802.1x EAP''? Examinando el código fuente en: .. / packages / apps / Settings / src / com / android / settings / wifi / WifiDialog.java

case AccessPoint.SECURITY_EAP: config.allowedKeyManagement.set(KeyMgmt.WPA_EAP); config.allowedKeyManagement.set(KeyMgmt.IEEE8021X); config.eap.setValue((String) mEapMethod.getSelectedItem()); config.phase2.setValue((mPhase2.getSelectedItemPosition() == 0) ? "" : "auth=" + mPhase2.getSelectedItem()); config.ca_cert.setValue((mEapCaCert.getSelectedItemPosition() == 0) ? "" : KEYSTORE_SPACE + Credentials.CA_CERTIFICATE + (String) mEapCaCert.getSelectedItem()); config.client_cert.setValue((mEapUserCert.getSelectedItemPosition() == 0) ? "" : KEYSTORE_SPACE + Credentials.USER_CERTIFICATE + (String) mEapUserCert.getSelectedItem()); config.private_key.setValue((mEapUserCert.getSelectedItemPosition() == 0) ? "" : KEYSTORE_SPACE + Credentials.USER_PRIVATE_KEY + (String) mEapUserCert.getSelectedItem()); config.identity.setValue((mEapIdentity.length() == 0) ? "" : mEapIdentity.getText().toString()); config.anonymous_identity.setValue((mEapAnonymous.length() == 0) ? "" : mEapAnonymous.getText().toString()); if (mPassword.length() != 0) { config.password.setValue(mPassword.getText().toString()); }

Parece que hace el trabajo pero ''config.eap'' no es accesible desde mi aplicación.

¿Hay alguna manera de configurar los tipos de EAP o no es posible?


Java Reflection API se puede usar para crear una red IEEE802.x con certificado. Puede crear directivamente la conexión de red IEEE802.x es una versión anterior (como 1.6). En el último Android, el "EnterpriseField" (una clase interna) no es accesible directamente a través del programa.