Merge changes from topics "s-security-params-backup-restore", "s-seucrity-params-setup-migration"
* changes: wifi: add setSecurityParams APIs for wifi service migration wifi: add getSecurityType and createSecurityParamsBySecurityType methods
This commit is contained in:
commit
7ff19c531f
@ -191,6 +191,15 @@ public class SecurityParams {
|
||||
mIsSaeH2eOnlyMode, mIsSaePkOnlyMode, mIsAddedByAutoUpgrade);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the security type of this params.
|
||||
*
|
||||
* @return The security type defined in {@link WifiConfiguration}.
|
||||
*/
|
||||
public @SecurityType int getSecurityType() {
|
||||
return mSecurityType;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the security type of this params.
|
||||
*
|
||||
@ -562,10 +571,65 @@ public class SecurityParams {
|
||||
return params;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a params according to the security type.
|
||||
*
|
||||
* @param securityType One of the following security types:
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_OPEN},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_WEP},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_PSK},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_EAP},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_SAE},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_OWE},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_WAPI_PSK},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_WAPI_CERT},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_EAP_WPA3_ENTERPRISE},
|
||||
* {@link WifiConfiguration#SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT},
|
||||
*
|
||||
* @return the corresponding security params if the security type is valid;
|
||||
* otherwise, throw IllegalArgumentException.
|
||||
*/
|
||||
public static @NonNull SecurityParams createSecurityParamsBySecurityType(
|
||||
@WifiConfiguration.SecurityType int securityType) {
|
||||
switch (securityType) {
|
||||
case WifiConfiguration.SECURITY_TYPE_OPEN:
|
||||
return createOpenParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_WEP:
|
||||
return createWepParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_PSK:
|
||||
return createWpaWpa2PersonalParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_EAP:
|
||||
return createWpaWpa2EnterpriseParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_SAE:
|
||||
return createWpa3PersonalParams();
|
||||
// The value of {@link WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B} is the same as
|
||||
// {@link #WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT}, remove it
|
||||
// to avoid duplicate case label errors.
|
||||
case WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT:
|
||||
return createWpa3Enterprise192BitParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_OWE:
|
||||
return createEnhancedOpenParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_WAPI_PSK:
|
||||
return createWapiPskParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_WAPI_CERT:
|
||||
return createWapiCertParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE:
|
||||
return createWpa3EnterpriseParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_OSEN:
|
||||
return createOsenParams();
|
||||
case WifiConfiguration.SECURITY_TYPE_PASSPOINT_R1_R2:
|
||||
return SecurityParams.createPasspointParams(PASSPOINT_R2);
|
||||
case WifiConfiguration.SECURITY_TYPE_PASSPOINT_R3:
|
||||
return SecurityParams.createPasspointParams(PASSPOINT_R3);
|
||||
default:
|
||||
throw new IllegalArgumentException("unknown security type " + securityType);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create EAP security params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWpaWpa2EnterpriseParams() {
|
||||
private static @NonNull SecurityParams createWpaWpa2EnterpriseParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_EAP;
|
||||
|
||||
@ -586,7 +650,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create Passpoint security params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createPasspointParams(@PasspointRelease int release) {
|
||||
private static @NonNull SecurityParams createPasspointParams(@PasspointRelease int release) {
|
||||
SecurityParams params = new SecurityParams();
|
||||
switch (release) {
|
||||
case PASSPOINT_R1:
|
||||
@ -616,7 +680,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create Enhanced Open params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createEnhancedOpenParams() {
|
||||
private static @NonNull SecurityParams createEnhancedOpenParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_OWE;
|
||||
|
||||
@ -639,7 +703,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create Open params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createOpenParams() {
|
||||
private static @NonNull SecurityParams createOpenParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_OPEN;
|
||||
|
||||
@ -653,7 +717,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create OSEN params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createOsenParams() {
|
||||
private static @NonNull SecurityParams createOsenParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_OSEN;
|
||||
|
||||
@ -672,7 +736,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create WAPI-CERT params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWapiCertParams() {
|
||||
private static @NonNull SecurityParams createWapiCertParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_WAPI_CERT;
|
||||
|
||||
@ -689,7 +753,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create WAPI-PSK params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWapiPskParams() {
|
||||
private static @NonNull SecurityParams createWapiPskParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_WAPI_PSK;
|
||||
|
||||
@ -706,7 +770,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create WEP params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWepParams() {
|
||||
private static @NonNull SecurityParams createWepParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_WEP;
|
||||
|
||||
@ -730,7 +794,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create WPA3 Enterprise 192-bit params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWpa3Enterprise192BitParams() {
|
||||
private static @NonNull SecurityParams createWpa3Enterprise192BitParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT;
|
||||
|
||||
@ -758,7 +822,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create WPA3 Enterprise params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWpa3EnterpriseParams() {
|
||||
private static @NonNull SecurityParams createWpa3EnterpriseParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE;
|
||||
|
||||
@ -780,7 +844,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create WPA3 Personal params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWpa3PersonalParams() {
|
||||
private static @NonNull SecurityParams createWpa3PersonalParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_SAE;
|
||||
|
||||
@ -803,7 +867,7 @@ public class SecurityParams {
|
||||
/**
|
||||
* Create WPA/WPA2 Personal params.
|
||||
*/
|
||||
public static @NonNull SecurityParams createWpaWpa2PersonalParams() {
|
||||
private static @NonNull SecurityParams createWpaWpa2PersonalParams() {
|
||||
SecurityParams params = new SecurityParams();
|
||||
params.mSecurityType = WifiConfiguration.SECURITY_TYPE_PSK;
|
||||
|
||||
|
@ -566,10 +566,27 @@ public class WifiConfiguration implements Parcelable {
|
||||
*/
|
||||
public void setSecurityParams(@SecurityType int securityType) {
|
||||
// Clear existing data.
|
||||
mSecurityParamsList = new ArrayList<>();
|
||||
mSecurityParamsList.clear();
|
||||
addSecurityParams(securityType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set security params by the given key management mask.
|
||||
*
|
||||
* @param givenAllowedKeyManagement the given allowed key management mask.
|
||||
* @hide
|
||||
*/
|
||||
public void setSecurityParams(@NonNull BitSet givenAllowedKeyManagement) {
|
||||
if (givenAllowedKeyManagement == null) {
|
||||
throw new IllegalArgumentException("Invalid allowed key management mask.");
|
||||
}
|
||||
// Clear existing data.
|
||||
mSecurityParamsList.clear();
|
||||
|
||||
allowedKeyManagement = (BitSet) givenAllowedKeyManagement.clone();
|
||||
convertLegacyFieldsToSecurityParamsIfNeeded();
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the various security params.
|
||||
* <br>
|
||||
@ -578,10 +595,25 @@ public class WifiConfiguration implements Parcelable {
|
||||
*/
|
||||
public void setSecurityParams(SecurityParams params) {
|
||||
// Clear existing data.
|
||||
mSecurityParamsList = new ArrayList<>();
|
||||
mSecurityParamsList.clear();
|
||||
addSecurityParams(params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the security params by the given security params list.
|
||||
*
|
||||
* This will overwrite existing security params list directly.
|
||||
*
|
||||
* @param securityParamsList the desired security params list.
|
||||
* @hide
|
||||
*/
|
||||
public void setSecurityParams(@NonNull List<SecurityParams> securityParamsList) {
|
||||
if (securityParamsList == null || securityParamsList.isEmpty()) {
|
||||
throw new IllegalArgumentException("An empty security params list is invalid.");
|
||||
}
|
||||
mSecurityParamsList = new ArrayList<>(securityParamsList);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the various security params to correspond to the provided security type.
|
||||
* This is accomplished by setting the various BitSets exposed in WifiConfiguration.
|
||||
@ -605,55 +637,7 @@ public class WifiConfiguration implements Parcelable {
|
||||
if (mSecurityParamsList.stream().anyMatch(params -> params.isSecurityType(securityType))) {
|
||||
throw new IllegalArgumentException("duplicate security type " + securityType);
|
||||
}
|
||||
SecurityParams params = null;
|
||||
switch (securityType) {
|
||||
case SECURITY_TYPE_OPEN:
|
||||
params = SecurityParams.createOpenParams();
|
||||
break;
|
||||
case SECURITY_TYPE_WEP:
|
||||
params = SecurityParams.createWepParams();
|
||||
break;
|
||||
case SECURITY_TYPE_PSK:
|
||||
params = SecurityParams.createWpaWpa2PersonalParams();
|
||||
break;
|
||||
case SECURITY_TYPE_EAP:
|
||||
params = SecurityParams.createWpaWpa2EnterpriseParams();
|
||||
break;
|
||||
case SECURITY_TYPE_SAE:
|
||||
params = SecurityParams.createWpa3PersonalParams();
|
||||
break;
|
||||
// The value of {@link SECURITY_TYPE_EAP_SUITE_B} is the same as
|
||||
// {@link #SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT}, remove it to avoid
|
||||
// duplicate case label errors.
|
||||
case SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT:
|
||||
params = SecurityParams.createWpa3Enterprise192BitParams();
|
||||
break;
|
||||
case SECURITY_TYPE_OWE:
|
||||
params = SecurityParams.createEnhancedOpenParams();
|
||||
break;
|
||||
case SECURITY_TYPE_WAPI_PSK:
|
||||
params = SecurityParams.createWapiPskParams();
|
||||
break;
|
||||
case SECURITY_TYPE_WAPI_CERT:
|
||||
params = SecurityParams.createWapiCertParams();
|
||||
break;
|
||||
case SECURITY_TYPE_EAP_WPA3_ENTERPRISE:
|
||||
params = SecurityParams.createWpa3EnterpriseParams();
|
||||
break;
|
||||
case SECURITY_TYPE_OSEN:
|
||||
params = SecurityParams.createOsenParams();
|
||||
break;
|
||||
case SECURITY_TYPE_PASSPOINT_R1_R2:
|
||||
params = SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R2);
|
||||
break;
|
||||
case SECURITY_TYPE_PASSPOINT_R3:
|
||||
params = SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R3);
|
||||
break;
|
||||
default:
|
||||
throw new IllegalArgumentException("unknown security type " + securityType);
|
||||
}
|
||||
|
||||
addSecurityParams(params);
|
||||
addSecurityParams(SecurityParams.createSecurityParamsBySecurityType(securityType));
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
|
@ -50,6 +50,7 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedGroupCiphers,
|
||||
boolean expectedRequirePmf) {
|
||||
assertTrue(params.isSecurityType(expectedSecurityType));
|
||||
assertEquals(expectedSecurityType, params.getSecurityType());
|
||||
for (int b: expectedAllowedKeyManagement) {
|
||||
assertTrue(params.getAllowedKeyManagement().get(b));
|
||||
}
|
||||
@ -68,10 +69,32 @@ public class SecurityParamsTest {
|
||||
assertEquals(expectedRequirePmf, params.isRequirePmf());
|
||||
}
|
||||
|
||||
/** Verify the security params created by security type. */
|
||||
@Test
|
||||
public void testSecurityTypeCreator() throws Exception {
|
||||
int[] securityTypes = new int[] {
|
||||
WifiConfiguration.SECURITY_TYPE_WAPI_CERT,
|
||||
WifiConfiguration.SECURITY_TYPE_WAPI_PSK,
|
||||
WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT,
|
||||
WifiConfiguration.SECURITY_TYPE_OWE,
|
||||
WifiConfiguration.SECURITY_TYPE_SAE,
|
||||
WifiConfiguration.SECURITY_TYPE_OSEN,
|
||||
WifiConfiguration.SECURITY_TYPE_EAP,
|
||||
WifiConfiguration.SECURITY_TYPE_PSK,
|
||||
WifiConfiguration.SECURITY_TYPE_OPEN,
|
||||
WifiConfiguration.SECURITY_TYPE_PASSPOINT_R1_R2,
|
||||
WifiConfiguration.SECURITY_TYPE_PASSPOINT_R3,
|
||||
};
|
||||
|
||||
for (int type: securityTypes) {
|
||||
assertEquals(type,
|
||||
SecurityParams.createSecurityParamsBySecurityType(type).getSecurityType());
|
||||
}
|
||||
}
|
||||
|
||||
/** Verify EAP params creator. */
|
||||
@Test
|
||||
public void testEapCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWpaWpa2EnterpriseParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_EAP;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WPA_EAP, KeyMgmt.IEEE8021X};
|
||||
int[] expectedAllowedProtocols = new int[] {};
|
||||
@ -79,33 +102,17 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
expectedAllowedGroupCiphers, expectedRequirePmf);
|
||||
}
|
||||
|
||||
/** Verify Passpoint R1 params creator. */
|
||||
/** Verify Passpoint R1/R2 params creator. */
|
||||
@Test
|
||||
public void testEapPasspointR1Creator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R1);
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_PASSPOINT_R1_R2;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WPA_EAP, KeyMgmt.IEEE8021X};
|
||||
int[] expectedAllowedProtocols = new int[] {};
|
||||
int[] expectedAllowedAuthAlgorithms = new int[] {};
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = false;
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
expectedAllowedGroupCiphers, expectedRequirePmf);
|
||||
}
|
||||
|
||||
/** Verify Passpoint R2 params creator. */
|
||||
@Test
|
||||
public void testEapPasspointR2Creator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R2);
|
||||
public void testEapPasspointR1R2Creator() throws Exception {
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_PASSPOINT_R1_R2;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WPA_EAP, KeyMgmt.IEEE8021X};
|
||||
int[] expectedAllowedProtocols = new int[] {};
|
||||
@ -113,6 +120,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -122,7 +131,6 @@ public class SecurityParamsTest {
|
||||
/** Verify Passpoint R3 params creator. */
|
||||
@Test
|
||||
public void testEapPasspointR3Creator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R3);
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_PASSPOINT_R3;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WPA_EAP, KeyMgmt.IEEE8021X};
|
||||
int[] expectedAllowedProtocols = new int[] {};
|
||||
@ -130,6 +138,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = true;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -139,7 +149,6 @@ public class SecurityParamsTest {
|
||||
/** Verify Enhanced Open params creator. */
|
||||
@Test
|
||||
public void testEnhancedOpenCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createEnhancedOpenParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_OWE;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.OWE};
|
||||
int[] expectedAllowedProtocols = new int[] {Protocol.RSN};
|
||||
@ -149,6 +158,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedGroupCiphers = new int[] {
|
||||
GroupCipher.CCMP, GroupCipher.GCMP_128, GroupCipher.GCMP_256};
|
||||
boolean expectedRequirePmf = true;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -158,7 +169,6 @@ public class SecurityParamsTest {
|
||||
/** Verify Open params creator. */
|
||||
@Test
|
||||
public void testOpenCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createOpenParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_OPEN;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.NONE};
|
||||
int[] expectedAllowedProtocols = new int[] {};
|
||||
@ -166,6 +176,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -175,7 +187,6 @@ public class SecurityParamsTest {
|
||||
/** Verify OSEN params creator. */
|
||||
@Test
|
||||
public void testOsenCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createOsenParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_OSEN;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.OSEN};
|
||||
int[] expectedAllowedProtocols = new int[] {Protocol.OSEN};
|
||||
@ -183,6 +194,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -192,7 +205,6 @@ public class SecurityParamsTest {
|
||||
/** Verify WAPI CERT params creator. */
|
||||
@Test
|
||||
public void testWapiCertCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWapiCertParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_WAPI_CERT;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WAPI_CERT};
|
||||
int[] expectedAllowedProtocols = new int[] {Protocol.WAPI};
|
||||
@ -200,6 +212,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {PairwiseCipher.SMS4};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {GroupCipher.SMS4};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -209,7 +223,6 @@ public class SecurityParamsTest {
|
||||
/** Verify WAPI PSK params creator. */
|
||||
@Test
|
||||
public void testWapiPskCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWapiPskParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_WAPI_PSK;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WAPI_PSK};
|
||||
int[] expectedAllowedProtocols = new int[] {Protocol.WAPI};
|
||||
@ -217,6 +230,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {PairwiseCipher.SMS4};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {GroupCipher.SMS4};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -226,7 +241,6 @@ public class SecurityParamsTest {
|
||||
/** Verify WEP params creator. */
|
||||
@Test
|
||||
public void testWepCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWepParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_WEP;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.NONE};
|
||||
int[] expectedAllowedProtocols = new int[] {};
|
||||
@ -234,6 +248,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -243,7 +259,6 @@ public class SecurityParamsTest {
|
||||
/** Verify WPA3 Enterprise 192-bit params creator. */
|
||||
@Test
|
||||
public void testWpa3Enterprise192BitCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWpa3Enterprise192BitParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT;
|
||||
int[] expectedAllowedKeyManagement = new int[] {
|
||||
KeyMgmt.WPA_EAP, KeyMgmt.IEEE8021X, KeyMgmt.SUITE_B_192};
|
||||
@ -253,6 +268,8 @@ public class SecurityParamsTest {
|
||||
PairwiseCipher.GCMP_128, PairwiseCipher.GCMP_256};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {GroupCipher.GCMP_128, GroupCipher.GCMP_256};
|
||||
boolean expectedRequirePmf = true;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -264,7 +281,6 @@ public class SecurityParamsTest {
|
||||
/** Verify WPA3 Enterprise params creator. */
|
||||
@Test
|
||||
public void testWpa3EnterpriseCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWpa3EnterpriseParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WPA_EAP, KeyMgmt.IEEE8021X};
|
||||
int[] expectedAllowedProtocols = new int[] {Protocol.RSN};
|
||||
@ -273,6 +289,8 @@ public class SecurityParamsTest {
|
||||
PairwiseCipher.CCMP, PairwiseCipher.GCMP_256};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {GroupCipher.CCMP, GroupCipher.GCMP_256};
|
||||
boolean expectedRequirePmf = true;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -282,7 +300,6 @@ public class SecurityParamsTest {
|
||||
/** Verify WPA3 Personal params creator. */
|
||||
@Test
|
||||
public void testWpa3PersonalCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWpa3PersonalParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_SAE;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.SAE};
|
||||
int[] expectedAllowedProtocols = new int[] {Protocol.RSN};
|
||||
@ -292,6 +309,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedGroupCiphers = new int[] {
|
||||
GroupCipher.CCMP, GroupCipher.GCMP_128, GroupCipher.GCMP_256};
|
||||
boolean expectedRequirePmf = true;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -301,7 +320,6 @@ public class SecurityParamsTest {
|
||||
/** Verify WPA2 Personal EAP params creator. */
|
||||
@Test
|
||||
public void testWpaWpa2PersonalCreator() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWpaWpa2PersonalParams();
|
||||
int expectedSecurityType = WifiConfiguration.SECURITY_TYPE_PSK;
|
||||
int[] expectedAllowedKeyManagement = new int[] {KeyMgmt.WPA_PSK};
|
||||
int[] expectedAllowedProtocols = new int[] {};
|
||||
@ -309,6 +327,8 @@ public class SecurityParamsTest {
|
||||
int[] expectedAllowedPairwiseCiphers = new int[] {};
|
||||
int[] expectedAllowedGroupCiphers = new int[] {};
|
||||
boolean expectedRequirePmf = false;
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
expectedSecurityType);
|
||||
verifySecurityParams(p, expectedSecurityType,
|
||||
expectedAllowedKeyManagement, expectedAllowedProtocols,
|
||||
expectedAllowedAuthAlgorithms, expectedAllowedPairwiseCiphers,
|
||||
@ -318,7 +338,8 @@ public class SecurityParamsTest {
|
||||
/** Verify setter/getter methods */
|
||||
@Test
|
||||
public void testCommonSetterGetter() throws Exception {
|
||||
SecurityParams params = SecurityParams.createWpaWpa2PersonalParams();
|
||||
SecurityParams params = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PSK);
|
||||
|
||||
// PSK setting
|
||||
BitSet allowedKeyManagement = new BitSet();
|
||||
@ -362,7 +383,8 @@ public class SecurityParamsTest {
|
||||
/** Verify SAE-specific methods */
|
||||
@Test
|
||||
public void testSaeMethods() throws Exception {
|
||||
SecurityParams p = SecurityParams.createWpa3PersonalParams();
|
||||
SecurityParams p = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE);
|
||||
|
||||
assertFalse(p.isAddedByAutoUpgrade());
|
||||
p.setIsAddedByAutoUpgrade(true);
|
||||
@ -380,7 +402,8 @@ public class SecurityParamsTest {
|
||||
/** Verify copy constructor. */
|
||||
@Test
|
||||
public void testCopyConstructor() throws Exception {
|
||||
SecurityParams params = SecurityParams.createWpaWpa2PersonalParams();
|
||||
SecurityParams params = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PSK);
|
||||
params.setEnabled(false);
|
||||
params.setIsAddedByAutoUpgrade(true);
|
||||
|
||||
@ -405,9 +428,12 @@ public class SecurityParamsTest {
|
||||
/** Check that two params are equal if and only if their types are the same. */
|
||||
@Test
|
||||
public void testEquals() {
|
||||
SecurityParams saeParams1 = SecurityParams.createWpa3PersonalParams();
|
||||
SecurityParams saeParams2 = SecurityParams.createWpa3PersonalParams();
|
||||
SecurityParams pskParams = SecurityParams.createWpaWpa2PersonalParams();
|
||||
SecurityParams saeParams1 = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE);
|
||||
SecurityParams saeParams2 = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE);
|
||||
SecurityParams pskParams = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PSK);
|
||||
assertEquals(saeParams1, saeParams2);
|
||||
assertNotEquals(saeParams1, pskParams);
|
||||
}
|
||||
@ -415,9 +441,12 @@ public class SecurityParamsTest {
|
||||
/** Check that hash values are the same if and only if their types are the same. */
|
||||
@Test
|
||||
public void testHashCode() {
|
||||
SecurityParams saeParams1 = SecurityParams.createWpa3PersonalParams();
|
||||
SecurityParams saeParams2 = SecurityParams.createWpa3PersonalParams();
|
||||
SecurityParams pskParams = SecurityParams.createWpaWpa2PersonalParams();
|
||||
SecurityParams saeParams1 = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE);
|
||||
SecurityParams saeParams2 = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE);
|
||||
SecurityParams pskParams = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PSK);
|
||||
assertEquals(saeParams1.hashCode(), saeParams2.hashCode());
|
||||
assertNotEquals(saeParams1.hashCode(), pskParams.hashCode());
|
||||
}
|
||||
@ -426,26 +455,38 @@ public class SecurityParamsTest {
|
||||
@Test
|
||||
public void testIsOpenNetwork() {
|
||||
SecurityParams[] openSecurityParams = new SecurityParams[] {
|
||||
SecurityParams.createEnhancedOpenParams(),
|
||||
SecurityParams.createOpenParams(),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_OWE),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_OPEN),
|
||||
};
|
||||
for (SecurityParams p: openSecurityParams) {
|
||||
assertTrue(p.isOpenSecurityType());
|
||||
}
|
||||
|
||||
SecurityParams[] nonOpenSecurityParams = new SecurityParams[] {
|
||||
SecurityParams.createWpaWpa2EnterpriseParams(),
|
||||
SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R1),
|
||||
SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R2),
|
||||
SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R3),
|
||||
SecurityParams.createOsenParams(),
|
||||
SecurityParams.createWapiCertParams(),
|
||||
SecurityParams.createWapiPskParams(),
|
||||
SecurityParams.createWepParams(),
|
||||
SecurityParams.createWpa3Enterprise192BitParams(),
|
||||
SecurityParams.createWpa3EnterpriseParams(),
|
||||
SecurityParams.createWpa3PersonalParams(),
|
||||
SecurityParams.createWpaWpa2PersonalParams(),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_EAP),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PASSPOINT_R1_R2),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PASSPOINT_R3),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_OSEN),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_WAPI_PSK),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_WAPI_CERT),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_WEP),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PSK),
|
||||
};
|
||||
for (SecurityParams p: nonOpenSecurityParams) {
|
||||
assertFalse(p.isOpenSecurityType());
|
||||
@ -456,26 +497,38 @@ public class SecurityParamsTest {
|
||||
@Test
|
||||
public void testIsEnterpriseNetwork() {
|
||||
SecurityParams[] enterpriseSecurityParams = new SecurityParams[] {
|
||||
SecurityParams.createWpaWpa2EnterpriseParams(),
|
||||
SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R1),
|
||||
SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R2),
|
||||
SecurityParams.createPasspointParams(SecurityParams.PASSPOINT_R3),
|
||||
SecurityParams.createWapiCertParams(),
|
||||
SecurityParams.createWpa3Enterprise192BitParams(),
|
||||
SecurityParams.createWpa3EnterpriseParams(),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_EAP),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PASSPOINT_R1_R2),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PASSPOINT_R3),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_WAPI_CERT),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE),
|
||||
};
|
||||
for (SecurityParams p: enterpriseSecurityParams) {
|
||||
assertTrue(p.isEnterpriseSecurityType());
|
||||
}
|
||||
|
||||
SecurityParams[] nonEnterpriseSecurityParams = new SecurityParams[] {
|
||||
SecurityParams.createEnhancedOpenParams(),
|
||||
SecurityParams.createOpenParams(),
|
||||
SecurityParams.createOsenParams(),
|
||||
SecurityParams.createWapiPskParams(),
|
||||
SecurityParams.createWepParams(),
|
||||
SecurityParams.createWpa3PersonalParams(),
|
||||
SecurityParams.createWpaWpa2PersonalParams(),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_OWE),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_OPEN),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_OSEN),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_WAPI_PSK),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_WEP),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE),
|
||||
SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_PSK),
|
||||
};
|
||||
for (SecurityParams p: nonEnterpriseSecurityParams) {
|
||||
assertFalse(p.isEnterpriseSecurityType());
|
||||
@ -485,7 +538,8 @@ public class SecurityParamsTest {
|
||||
/** Check that parcel marshalling/unmarshalling works */
|
||||
@Test
|
||||
public void testParcelMethods() {
|
||||
SecurityParams params = SecurityParams.createWpa3PersonalParams();
|
||||
SecurityParams params = SecurityParams.createSecurityParamsBySecurityType(
|
||||
WifiConfiguration.SECURITY_TYPE_SAE);
|
||||
|
||||
Parcel parcelW = Parcel.obtain();
|
||||
params.writeToParcel(parcelW, 0);
|
||||
|
@ -22,6 +22,8 @@ import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRI
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OPEN;
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OSEN;
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_OWE;
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_PASSPOINT_R1_R2;
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_PASSPOINT_R3;
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_PSK;
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_SAE;
|
||||
import static android.net.wifi.WifiConfiguration.SECURITY_TYPE_WAPI_CERT;
|
||||
@ -51,6 +53,8 @@ import com.android.net.module.util.MacAddressUtils;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.BitSet;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -915,7 +919,7 @@ public class WifiConfigurationTest {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
|
||||
config.addSecurityParams(WifiConfiguration.SECURITY_TYPE_SAE);
|
||||
config.addSecurityParams(SecurityParams.createWapiPskParams());
|
||||
config.addSecurityParams(WifiConfiguration.SECURITY_TYPE_WAPI_PSK);
|
||||
List<SecurityParams> paramsList = config.getSecurityParamsList();
|
||||
assertEquals(3, paramsList.size());
|
||||
|
||||
@ -1004,18 +1008,18 @@ public class WifiConfigurationTest {
|
||||
@Test (expected = IllegalArgumentException.class)
|
||||
public void testAddDuplicateSecurityParams() {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.addSecurityParams(SecurityParams.createWpaWpa2PersonalParams());
|
||||
config.addSecurityParams(SecurityParams.createWpaWpa2PersonalParams());
|
||||
config.addSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
|
||||
config.addSecurityParams(WifiConfiguration.SECURITY_TYPE_PSK);
|
||||
}
|
||||
|
||||
/** Verify that Suite-B type works as expected. */
|
||||
@Test
|
||||
public void testAddSuiteBSecurityType() {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.addSecurityParams(SecurityParams.createWpa3EnterpriseParams());
|
||||
config.addSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
|
||||
config.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM);
|
||||
config.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.NONE);
|
||||
config.addSecurityParams(SecurityParams.createWpa3Enterprise192BitParams());
|
||||
config.addSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT);
|
||||
|
||||
assertFalse(config.isSuiteBCipherEcdheRsaEnabled());
|
||||
config.enableSuiteBCiphers(false, true);
|
||||
@ -1101,22 +1105,96 @@ public class WifiConfigurationTest {
|
||||
/** Verify the set security params by SecurityParams objects. */
|
||||
@Test
|
||||
public void testSetBySecurityParamsObject() {
|
||||
Pair[] securityParamsSecurityTypePairs = new Pair[] {
|
||||
new Pair<>(SecurityParams.createWapiCertParams(), SECURITY_TYPE_WAPI_CERT),
|
||||
new Pair<>(SecurityParams.createWapiPskParams(), SECURITY_TYPE_WAPI_PSK),
|
||||
new Pair<>(SecurityParams.createWpa3Enterprise192BitParams(),
|
||||
SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT),
|
||||
new Pair<>(SecurityParams.createEnhancedOpenParams(), SECURITY_TYPE_OWE),
|
||||
new Pair<>(SecurityParams.createWpa3PersonalParams(), SECURITY_TYPE_SAE),
|
||||
new Pair<>(SecurityParams.createOsenParams(), SECURITY_TYPE_OSEN),
|
||||
new Pair<>(SecurityParams.createWpaWpa2EnterpriseParams(), SECURITY_TYPE_EAP),
|
||||
new Pair<>(SecurityParams.createWpaWpa2PersonalParams(), SECURITY_TYPE_PSK),
|
||||
new Pair<>(SecurityParams.createOpenParams(), SECURITY_TYPE_OPEN),
|
||||
int[] securityTypes = new int[] {
|
||||
SECURITY_TYPE_WAPI_CERT,
|
||||
SECURITY_TYPE_WAPI_PSK,
|
||||
SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT,
|
||||
SECURITY_TYPE_OWE,
|
||||
SECURITY_TYPE_SAE,
|
||||
SECURITY_TYPE_OSEN,
|
||||
SECURITY_TYPE_EAP,
|
||||
SECURITY_TYPE_PSK,
|
||||
SECURITY_TYPE_OPEN,
|
||||
SECURITY_TYPE_PASSPOINT_R1_R2,
|
||||
SECURITY_TYPE_PASSPOINT_R3,
|
||||
};
|
||||
for (Pair pair: securityParamsSecurityTypePairs) {
|
||||
for (int type: securityTypes) {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.setSecurityParams((SecurityParams) pair.first);
|
||||
config.setSecurityParams(type);
|
||||
assertTrue(config.isSecurityType(type));
|
||||
assertNotNull(config.getSecurityParams(type));
|
||||
}
|
||||
}
|
||||
|
||||
/** Verify the set security params by an allowed key management mask. */
|
||||
@Test
|
||||
public void testSetSecurityParamsByAllowedKeyManagement() {
|
||||
Pair[] keyMgmtSecurityTypePairs = new Pair[] {
|
||||
new Pair<>(KeyMgmt.WAPI_CERT, SECURITY_TYPE_WAPI_CERT),
|
||||
new Pair<>(KeyMgmt.WAPI_PSK, SECURITY_TYPE_WAPI_PSK),
|
||||
new Pair<>(KeyMgmt.SUITE_B_192, SECURITY_TYPE_EAP_WPA3_ENTERPRISE_192_BIT),
|
||||
new Pair<>(KeyMgmt.OWE, SECURITY_TYPE_OWE),
|
||||
new Pair<>(KeyMgmt.SAE, SECURITY_TYPE_SAE),
|
||||
new Pair<>(KeyMgmt.OSEN, SECURITY_TYPE_OSEN),
|
||||
new Pair<>(KeyMgmt.WPA2_PSK, SECURITY_TYPE_PSK),
|
||||
new Pair<>(KeyMgmt.WPA_EAP, SECURITY_TYPE_EAP),
|
||||
new Pair<>(KeyMgmt.WPA_PSK, SECURITY_TYPE_PSK),
|
||||
new Pair<>(KeyMgmt.NONE, SECURITY_TYPE_OPEN),
|
||||
};
|
||||
|
||||
for (Pair pair: keyMgmtSecurityTypePairs) {
|
||||
BitSet akm = new BitSet();
|
||||
akm.set((int) pair.first);
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.setSecurityParams(akm);
|
||||
assertNotNull(config.getSecurityParams((int) pair.second));
|
||||
}
|
||||
}
|
||||
|
||||
/** Verify the set security params by an invalid allowed key management mask. */
|
||||
@Test (expected = IllegalArgumentException.class)
|
||||
public void testSetSecurityParamsByInvalidAllowedKeyManagement() {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
BitSet akm = null;
|
||||
config.setSecurityParams(akm);
|
||||
}
|
||||
|
||||
/** Verify the set security params by a security params list. */
|
||||
@Test
|
||||
public void testSetSecurityParamsBySecurityParamsList() {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
config.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM);
|
||||
config.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.NONE);
|
||||
config.addSecurityParams(SECURITY_TYPE_EAP);
|
||||
config.addSecurityParams(SECURITY_TYPE_EAP_WPA3_ENTERPRISE);
|
||||
assertTrue(config.isSecurityType(SECURITY_TYPE_EAP));
|
||||
assertTrue(config.isSecurityType(SECURITY_TYPE_EAP_WPA3_ENTERPRISE));
|
||||
assertFalse(config.isSecurityType(SECURITY_TYPE_PSK));
|
||||
assertFalse(config.isSecurityType(SECURITY_TYPE_SAE));
|
||||
|
||||
List<SecurityParams> list = new ArrayList<>();
|
||||
list.add(SecurityParams.createSecurityParamsBySecurityType(SECURITY_TYPE_PSK));
|
||||
list.add(SecurityParams.createSecurityParamsBySecurityType(SECURITY_TYPE_SAE));
|
||||
config.setSecurityParams(list);
|
||||
assertFalse(config.isSecurityType(SECURITY_TYPE_EAP));
|
||||
assertFalse(config.isSecurityType(SECURITY_TYPE_EAP_WPA3_ENTERPRISE));
|
||||
assertTrue(config.isSecurityType(SECURITY_TYPE_PSK));
|
||||
assertTrue(config.isSecurityType(SECURITY_TYPE_SAE));
|
||||
}
|
||||
|
||||
/** Verify the set security params by an empty security params list. */
|
||||
@Test (expected = IllegalArgumentException.class)
|
||||
public void testSetSecurityParamsByEmptySecurityParamsList() {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
List<SecurityParams> list = new ArrayList<>();
|
||||
config.setSecurityParams(list);
|
||||
}
|
||||
|
||||
/** Verify the set security params by a null security params list. */
|
||||
@Test (expected = IllegalArgumentException.class)
|
||||
public void testSetSecurityParamsByNullSecurityParamsList() {
|
||||
WifiConfiguration config = new WifiConfiguration();
|
||||
List<SecurityParams> list = null;
|
||||
config.setSecurityParams(list);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user