diff --git a/wifi/java/android/net/wifi/ScanResult.java b/wifi/java/android/net/wifi/ScanResult.java index 3fda6cda92f54..51927af178889 100644 --- a/wifi/java/android/net/wifi/ScanResult.java +++ b/wifi/java/android/net/wifi/ScanResult.java @@ -209,6 +209,16 @@ public class ScanResult implements Parcelable { @SystemApi public static final int KEY_MGMT_WAPI_CERT = 14; + /** + * @hide + * Security key management scheme: FILS_SHA256. + */ + public static final int KEY_MGMT_FILS_SHA256 = 15; + /** + * @hide + * Security key management scheme: FILS_SHA384. + */ + public static final int KEY_MGMT_FILS_SHA384 = 16; /** * @hide * No cipher suite. diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index 114e0fa212963..80fefe6df72d8 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -123,7 +123,9 @@ public class WifiConfiguration implements Parcelable { WPA_PSK_SHA256, WPA_EAP_SHA256, WAPI_PSK, - WAPI_CERT}) + WAPI_CERT, + FILS_SHA256, + FILS_SHA384}) public @interface KeyMgmtScheme {} /** WPA is not used; plaintext or static WEP could be used. */ @@ -204,12 +206,23 @@ public class WifiConfiguration implements Parcelable { @SystemApi public static final int WAPI_CERT = 14; + /** + * IEEE 802.11ai FILS SK with SHA256 + * @hide + */ + public static final int FILS_SHA256 = 15; + /** + * IEEE 802.11ai FILS SK with SHA384: + * @hide + */ + public static final int FILS_SHA384 = 16; + public static final String varName = "key_mgmt"; public static final String[] strings = { "NONE", "WPA_PSK", "WPA_EAP", "IEEE8021X", "WPA2_PSK", "OSEN", "FT_PSK", "FT_EAP", "SAE", "OWE", "SUITE_B_192", "WPA_PSK_SHA256", "WPA_EAP_SHA256", - "WAPI_PSK", "WAPI_CERT" }; + "WAPI_PSK", "WAPI_CERT", "FILS_SHA256", "FILS_SHA384" }; } /** diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java index 5edcc2df3804f..558d5fa60e99f 100644 --- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java +++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java @@ -91,6 +91,8 @@ public class WifiEnterpriseConfig implements Parcelable { public static final String DOM_SUFFIX_MATCH_KEY = "domain_suffix_match"; /** @hide */ public static final String OPP_KEY_CACHING = "proactive_key_caching"; + /** @hide */ + public static final String EAP_ERP = "eap_erp"; /** * String representing the keystore OpenSSL ENGINE's ID. @@ -228,7 +230,8 @@ public class WifiEnterpriseConfig implements Parcelable { /** * Fields that have unquoted values in {@link #mFields}. */ - private static final List UNQUOTED_KEYS = Arrays.asList(ENGINE_KEY, OPP_KEY_CACHING); + private static final List UNQUOTED_KEYS = Arrays.asList(ENGINE_KEY, OPP_KEY_CACHING, + EAP_ERP); @UnsupportedAppUsage private HashMap mFields = new HashMap(); diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java index f6e3ff0ff02ce..d9c7b461af6df 100644 --- a/wifi/java/android/net/wifi/WifiManager.java +++ b/wifi/java/android/net/wifi/WifiManager.java @@ -2341,6 +2341,12 @@ public class WifiManager { /** @hide */ public static final long WIFI_FEATURE_WAPI = 0x2000000000L; // WAPI + /** @hide */ + public static final long WIFI_FEATURE_FILS_SHA256 = 0x4000000000L; // FILS-SHA256 + + /** @hide */ + public static final long WIFI_FEATURE_FILS_SHA384 = 0x8000000000L; // FILS-SHA384 + private long getSupportedFeatures() { try { return mService.getSupportedFeatures();