From 690c3fd0bc0054ebde07b6a9549ec065bec82b3f Mon Sep 17 00:00:00 2001 From: Hai Shalom Date: Thu, 23 Jan 2020 18:40:07 -0800 Subject: [SAE] Support for WPA3 Personal auto-upgrade Support for auto-upgrading WPA2-Personal saved network to WPA3-Personal. Match PSK saved networks to SAE scan result candidates for auto-upgrade. Do not auto-upgrade if legacy PSK APs are in range, to allow roaming. Added overlays to enable or disable the feature, and to allow driver offload, where the framework would always send both PSK and SAE key managements to supplicant. Bug: 142507644 Test: atest ScanResultMatchInfoTest ClientModeImplTest WifiCandidatesTest Test: Manual test with WPA3 in transition AP, verify upgrade Test: Manual test with WPA3 in transition AP and WPA2 AP in range, verify no upgrade Change-Id: I931b53cbad5ad9b6edef532fe330b489cc8109d2 --- wifi/java/android/net/wifi/WifiConfiguration.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java index 114e0fa21296..0ef224a5f8ee 100644 --- a/wifi/java/android/net/wifi/WifiConfiguration.java +++ b/wifi/java/android/net/wifi/WifiConfiguration.java @@ -481,12 +481,14 @@ public class WifiConfiguration implements Parcelable { allowedKeyManagement.set(WifiConfiguration.KeyMgmt.IEEE8021X); break; case SECURITY_TYPE_SAE: + allowedProtocols.set(WifiConfiguration.Protocol.RSN); allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SAE); allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); requirePMF = true; break; case SECURITY_TYPE_EAP_SUITE_B: + allowedProtocols.set(WifiConfiguration.Protocol.RSN); allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SUITE_B_192); allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256); allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256); @@ -496,6 +498,7 @@ public class WifiConfiguration implements Parcelable { requirePMF = true; break; case SECURITY_TYPE_OWE: + allowedProtocols.set(WifiConfiguration.Protocol.RSN); allowedKeyManagement.set(WifiConfiguration.KeyMgmt.OWE); allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP); allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP); -- cgit v1.2.3-59-g8ed1b