summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJimmy Chen <jimmycmchen@google.com>2019-07-04 16:49:38 +0800
committerJimmy Chen <jimmycmchen@google.com>2019-09-06 13:23:48 +0800
commitfdc02792197230fc686e9a1c0a6e6747bdd74113 (patch)
tree75e2555aebbc5437a4a064b9f81404686ad47648 /tests
parentc7599e9b44142a5756b2323c847ff24dc716e055 (diff)
wifi: support setting ocsp request type
Bug: 136720092 Test: atest FrameworksWifiTests Test: tested with OCSP supported profile Change-Id: I950754c791c9995f9e8393a72cb8d9d95e1b43bd
Diffstat (limited to 'tests')
-rw-r--r--tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java1
-rw-r--r--tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java125
-rw-r--r--tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java17
3 files changed, 122 insertions, 21 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java b/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java
index 7336c4119..87eff41e3 100644
--- a/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/NetworkListStoreDataTest.java
@@ -186,6 +186,7 @@ public class NetworkListStoreDataTest {
+ "<int name=\"Phase2Method\" value=\"0\" />\n"
+ "<string name=\"PLMN\"></string>\n"
+ "<string name=\"Realm\"></string>\n"
+ + "<int name=\"Ocsp\" value=\"0\" />\n"
+ "</WifiEnterpriseConfiguration>\n"
+ "</Network>\n";
diff --git a/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java b/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java
index 796dce1df..0073695ba 100644
--- a/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/SupplicantStaNetworkHalTest.java
@@ -79,6 +79,8 @@ public class SupplicantStaNetworkHalTest {
@Mock private ISupplicantStaNetwork mISupplicantStaNetworkMock;
@Mock
private android.hardware.wifi.supplicant.V1_2.ISupplicantStaNetwork mISupplicantStaNetworkV12;
+ @Mock
+ private android.hardware.wifi.supplicant.V1_3.ISupplicantStaNetwork mISupplicantStaNetworkV13;
@Mock private Context mContext;
@Mock private WifiMonitor mWifiMonitor;
@@ -86,6 +88,12 @@ public class SupplicantStaNetworkHalTest {
private MockResources mResources;
private ISupplicantStaNetworkCallback mISupplicantStaNetworkCallback;
+ enum SupplicantStaNetworkVersion {
+ V1_0,
+ V1_2,
+ V1_3,
+ }
+
/**
* Spy used to return the V1_2 ISupplicantStaNetwork mock object to simulate the 1.2 HAL running
* on the device.
@@ -104,6 +112,24 @@ public class SupplicantStaNetworkHalTest {
}
}
+ /**
+ * Spy used to return the V1_3 ISupplicantStaNetwork mock object to simulate the 1.3 HAL running
+ * on the device.
+ */
+ private class SupplicantStaNetworkHalSpyV1_3 extends SupplicantStaNetworkHalSpyV1_2 {
+ SupplicantStaNetworkHalSpyV1_3(ISupplicantStaNetwork iSupplicantStaNetwork,
+ String ifaceName,
+ Context context, WifiMonitor monitor) {
+ super(iSupplicantStaNetwork, ifaceName, context, monitor);
+ }
+
+ @Override
+ protected android.hardware.wifi.supplicant.V1_3.ISupplicantStaNetwork
+ getSupplicantStaNetworkForV1_3Mockable() {
+ return mISupplicantStaNetworkV13;
+ }
+ }
+
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
@@ -114,7 +140,7 @@ public class SupplicantStaNetworkHalTest {
mResources = new MockResources();
when(mContext.getResources()).thenReturn(mResources);
- createSupplicantStaNetwork();
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_0);
}
/**
@@ -123,8 +149,7 @@ public class SupplicantStaNetworkHalTest {
@Test
public void testOweNetworkWifiConfigurationSaveLoad() throws Exception {
// Now expose the V1.2 ISupplicantStaNetwork
- mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(mISupplicantStaNetworkMock,
- IFACE_NAME, mContext, mWifiMonitor);
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_2);
WifiConfiguration config = WifiConfigurationTestUtil.createOweNetwork();
config.updateIdentifier = "46";
@@ -147,8 +172,7 @@ public class SupplicantStaNetworkHalTest {
@Test
public void testSaePasswordNetworkWifiConfigurationSaveLoad() throws Exception {
// Now expose the V1.2 ISupplicantStaNetwork
- mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(mISupplicantStaNetworkMock,
- IFACE_NAME, mContext, mWifiMonitor);
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_2);
WifiConfiguration config = WifiConfigurationTestUtil.createSaeNetwork();
testWifiConfigurationSaveLoad(config);
@@ -257,6 +281,23 @@ public class SupplicantStaNetworkHalTest {
* Tests the saving of WifiConfiguration to wpa_supplicant.
*/
@Test
+ public void testEapTlsNoneClientCertNetworkWithOcspWifiConfigurationSaveLoad()
+ throws Exception {
+ // Now expose the V1.3 ISupplicantStaNetwork
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_3);
+
+ WifiConfiguration config = WifiConfigurationTestUtil.createEapNetwork();
+ config.enterpriseConfig =
+ WifiConfigurationTestUtil.createTLSWifiEnterpriseConfigWithNonePhase2();
+ config.enterpriseConfig.setClientCertificateAlias("test_alias");
+ config.enterpriseConfig.setOcsp(WifiEnterpriseConfig.OCSP_REQUIRE_CERT_STATUS);
+ testWifiConfigurationSaveLoad(config);
+ }
+
+ /**
+ * Tests the saving of WifiConfiguration to wpa_supplicant.
+ */
+ @Test
public void testEapTlsAkaNetworkWifiConfigurationSaveLoad() throws Exception {
WifiConfiguration config = WifiConfigurationTestUtil.createEapNetwork();
config.enterpriseConfig =
@@ -270,8 +311,7 @@ public class SupplicantStaNetworkHalTest {
@Test
public void testEapSuiteBRsaNetworkWifiConfigurationSaveLoad() throws Exception {
// Now expose the V1.2 ISupplicantStaNetwork
- mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(mISupplicantStaNetworkMock,
- IFACE_NAME, mContext, mWifiMonitor);
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_2);
WifiConfiguration config = WifiConfigurationTestUtil.createEapSuiteBNetwork();
config.allowedSuiteBCiphers.set(WifiConfiguration.SuiteBCipher.ECDHE_RSA);
@@ -297,8 +337,7 @@ public class SupplicantStaNetworkHalTest {
@Test
public void testEapSuiteBEcdsaNetworkWifiConfigurationSaveLoad() throws Exception {
// Now expose the V1.2 ISupplicantStaNetwork
- mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(mISupplicantStaNetworkMock,
- IFACE_NAME, mContext, mWifiMonitor);
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_2);
WifiConfiguration config = WifiConfigurationTestUtil.createEapSuiteBNetwork();
config.allowedSuiteBCiphers.set(WifiConfiguration.SuiteBCipher.ECDHE_ECDSA);
@@ -732,8 +771,7 @@ public class SupplicantStaNetworkHalTest {
any(ArrayList.class), any(ArrayList.class));
// Now expose the V1.2 ISupplicantStaNetwork
- mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(mISupplicantStaNetworkMock,
- IFACE_NAME, mContext, mWifiMonitor);
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_2);
doAnswer(new AnswerWithArguments() {
public SupplicantStatus answer(ArrayList<Byte> identity,
ArrayList<Byte> encryptedIdentity)
@@ -755,7 +793,7 @@ public class SupplicantStaNetworkHalTest {
@Test
public void testAddFtPskFlags() throws Exception {
mResources.setBoolean(R.bool.config_wifi_fast_bss_transition_enabled, true);
- createSupplicantStaNetwork();
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_0);
WifiConfiguration config = WifiConfigurationTestUtil.createPskNetwork();
assertTrue(mSupplicantNetwork.saveWifiConfiguration(config));
@@ -777,7 +815,7 @@ public class SupplicantStaNetworkHalTest {
@Test
public void testAddFtEapFlags() throws Exception {
mResources.setBoolean(R.bool.config_wifi_fast_bss_transition_enabled, true);
- createSupplicantStaNetwork();
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_0);
WifiConfiguration config = WifiConfigurationTestUtil.createEapNetwork();
assertTrue(mSupplicantNetwork.saveWifiConfiguration(config));
@@ -800,8 +838,7 @@ public class SupplicantStaNetworkHalTest {
public void testAddPskSha256Flags() throws Exception {
WifiConfiguration config = WifiConfigurationTestUtil.createPskNetwork();
// Now expose the V1.2 ISupplicantStaNetwork
- mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(mISupplicantStaNetworkMock,
- IFACE_NAME, mContext, mWifiMonitor);
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_2);
assertTrue(mSupplicantNetwork.saveWifiConfiguration(config));
// Check the supplicant variables to ensure that we have added the SHA256 flags.
@@ -824,8 +861,7 @@ public class SupplicantStaNetworkHalTest {
public void testAddEapSha256Flags() throws Exception {
WifiConfiguration config = WifiConfigurationTestUtil.createEapNetwork();
// Now expose the V1.2 ISupplicantStaNetwork
- mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(mISupplicantStaNetworkMock,
- IFACE_NAME, mContext, mWifiMonitor);
+ createSupplicantStaNetwork(SupplicantStaNetworkVersion.V1_2);
assertTrue(mSupplicantNetwork.saveWifiConfiguration(config));
// Check the supplicant variables to ensure that we have added the SHA256 flags.
@@ -872,6 +908,23 @@ public class SupplicantStaNetworkHalTest {
}
/**
+ * Tests OCSP status is ignored on HAL v1.2 or lower
+ */
+ @Test
+ public void testOcspStatusHal1_2OrLower() throws Exception {
+ WifiConfiguration config = WifiConfigurationTestUtil.createEapNetwork();
+ config.enterpriseConfig =
+ WifiConfigurationTestUtil.createTLSWifiEnterpriseConfigWithNonePhase2();
+ config.enterpriseConfig.setClientCertificateAlias("test_alias");
+ config.enterpriseConfig.setOcsp(WifiEnterpriseConfig.OCSP_REQUIRE_CERT_STATUS);
+
+ assertTrue(mSupplicantNetwork.saveWifiConfiguration(config));
+
+ // Check the supplicant variables to ensure that we have NOT change the OCSP status.
+ assertEquals(WifiEnterpriseConfig.OCSP_NONE, mSupplicantVariables.ocsp);
+ }
+
+ /**
* Tests the retrieval of WPS NFC token.
*/
@Test
@@ -1565,6 +1618,24 @@ public class SupplicantStaNetworkHalTest {
return mStatusSuccess;
}
}).when(mISupplicantStaNetworkV12).enableSuiteBEapOpenSslCiphers();
+
+ /** OCSP */
+ doAnswer(new AnswerWithArguments() {
+ public SupplicantStatus answer(int ocsp) throws RemoteException {
+ mSupplicantVariables.ocsp = ocsp;
+ return mStatusSuccess;
+ }
+ }).when(mISupplicantStaNetworkV13).setOcsp(any(int.class));
+ doAnswer(new AnswerWithArguments() {
+ public void answer(
+ android.hardware.wifi.supplicant.V1_3.ISupplicantStaNetwork.getOcspCallback cb)
+ throws RemoteException {
+ cb.onValues(mStatusSuccess, mSupplicantVariables.ocsp);
+ }
+ }).when(mISupplicantStaNetworkV13)
+ .getOcsp(any(android.hardware.wifi.supplicant.V1_3.ISupplicantStaNetwork
+ .getOcspCallback.class));
+
}
private SupplicantStatus createSupplicantStatus(int code) {
@@ -1576,10 +1647,21 @@ public class SupplicantStaNetworkHalTest {
/**
* Need this for tests which wants to manipulate context before creating the instance.
*/
- private void createSupplicantStaNetwork() {
- mSupplicantNetwork =
- new SupplicantStaNetworkHal(mISupplicantStaNetworkMock, IFACE_NAME, mContext,
- mWifiMonitor);
+ private void createSupplicantStaNetwork(SupplicantStaNetworkVersion version) {
+ switch (version) {
+ case V1_0:
+ mSupplicantNetwork = new SupplicantStaNetworkHal(
+ mISupplicantStaNetworkMock, IFACE_NAME, mContext, mWifiMonitor);
+ break;
+ case V1_2:
+ mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_2(
+ mISupplicantStaNetworkMock, IFACE_NAME, mContext, mWifiMonitor);
+ break;
+ case V1_3:
+ mSupplicantNetwork = new SupplicantStaNetworkHalSpyV1_3(
+ mISupplicantStaNetworkMock, IFACE_NAME, mContext, mWifiMonitor);
+ break;
+ }
mSupplicantNetwork.enableVerboseLogging(true);
}
@@ -1616,5 +1698,6 @@ public class SupplicantStaNetworkHalTest {
public String eapEngineID;
public String eapDomainSuffixMatch;
public boolean eapProactiveKeyCaching;
+ public int ocsp;
}
}
diff --git a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java
index c73e0d105..6911db801 100644
--- a/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/hotspot2/PasspointProviderTest.java
@@ -364,6 +364,13 @@ public class PasspointProviderTest {
} else {
assertEquals(CA_CERTIFICATE_ALIAS, wifiEnterpriseConfig.getCaCertificateAlias());
}
+ if (passpointConfig.getCredential().getCheckAaaServerCertStatus()) {
+ assertEquals(wifiEnterpriseConfig.getOcsp(),
+ WifiEnterpriseConfig.OCSP_REQUIRE_CERT_STATUS);
+ } else {
+ assertEquals(wifiEnterpriseConfig.getOcsp(),
+ WifiEnterpriseConfig.OCSP_NONE);
+ }
} else if (credential.getCertCredential() != null) {
Credential.CertificateCredential certCredential = credential.getCertCredential();
assertEquals("anonymous@" + credential.getRealm(),
@@ -391,6 +398,13 @@ public class PasspointProviderTest {
assertTrue(Arrays.equals(new String[] {SYSTEM_CA_STORE_PATH},
wifiEnterpriseConfig.getCaCertificateAliases()));
}
+ if (passpointConfig.getCredential().getCheckAaaServerCertStatus()) {
+ assertEquals(wifiEnterpriseConfig.getOcsp(),
+ WifiEnterpriseConfig.OCSP_REQUIRE_CERT_STATUS);
+ } else {
+ assertEquals(wifiEnterpriseConfig.getOcsp(),
+ WifiEnterpriseConfig.OCSP_NONE);
+ }
} else if (credential.getSimCredential() != null) {
Credential.SimCredential simCredential = credential.getSimCredential();
switch (simCredential.getEapType()) {
@@ -1021,6 +1035,9 @@ public class PasspointProviderTest {
PasspointConfiguration config = generateTestPasspointConfiguration(
CredentialType.USER, false);
config.setAaaServerTrustedNames(TEST_TRUSTED_NAME);
+ Credential credential = config.getCredential();
+ // OCSP (Online Certificate Status Protocol) is required.
+ credential.setCheckAaaServerCertStatus(true);
mProvider = createProvider(config);
// Install certificate.