Remove unit test changes in "[Passpoint] Changes to Unique ID"

This partially reverts commit c527eed123.

Reason for revert: Unit tests are out of sync with prebuilt Wifi mainline module

Bug: 168158154
Change-Id: Ia5e9ae3bcadace1a1c2ae53a56c67343db4bef71
Test: Treehugger
Merged-In: Ice11158078b5b86c721747b0d67ecfb09731a3c5
This commit is contained in:
David Su
2020-09-10 03:20:12 +00:00
parent beb3609dbb
commit d9d3ada818
3 changed files with 10 additions and 234 deletions

View File

@@ -214,35 +214,6 @@ public class FakeKeys {
};
public static final PrivateKey RSA_KEY1 = loadPrivateRSAKey(FAKE_RSA_KEY_1);
private static final String CLIENT_SUITE_B_RSA3072_CERT_STRING =
"-----BEGIN CERTIFICATE-----\n"
+ "MIIERzCCAq8CFDopjyNgaj+c2TN2k06h7okEWpHJMA0GCSqGSIb3DQEBDAUAMF4x\n"
+ "CzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTEMMAoGA1UEBwwDTVRWMRAwDgYDVQQK\n"
+ "DAdBbmRyb2lkMQ4wDAYDVQQLDAVXaS1GaTESMBAGA1UEAwwJdW5pdGVzdENBMB4X\n"
+ "DTIwMDcyMTAyMjkxMVoXDTMwMDUzMDAyMjkxMVowYjELMAkGA1UEBhMCVVMxCzAJ\n"
+ "BgNVBAgMAkNBMQwwCgYDVQQHDANNVFYxEDAOBgNVBAoMB0FuZHJvaWQxDjAMBgNV\n"
+ "BAsMBVdpLUZpMRYwFAYDVQQDDA11bml0ZXN0Q2xpZW50MIIBojANBgkqhkiG9w0B\n"
+ "AQEFAAOCAY8AMIIBigKCAYEAwSK3C5K5udtCKTnE14e8z2cZvwmB4Xe+a8+7QLud\n"
+ "Hooc/lQzClgK4MbVUC0D3FE+U32C78SxKoTaRWtvPmNm+UaFT8KkwyUno/dv+2XD\n"
+ "pd/zARQ+3FwAfWopAhEyCVSxwsCa+slQ4juRIMIuUC1Mm0NaptZyM3Tj/ICQEfpk\n"
+ "o9qVIbiK6eoJMTkY8EWfAn7RTFdfR1OLuO0mVOjgLW9/+upYv6hZ19nAMAxw4QTJ\n"
+ "x7lLwALX7B+tDYNEZHDqYL2zyvQWAj2HClere8QYILxkvktgBg2crEJJe4XbDH7L\n"
+ "A3rrXmsiqf1ZbfFFEzK9NFqovL+qGh+zIP+588ShJFO9H/RDnDpiTnAFTWXQdTwg\n"
+ "szSS0Vw2PB+JqEABAa9DeMvXT1Oy+NY3ItPHyy63nQZVI2rXANw4NhwS0Z6DF+Qs\n"
+ "TNrj+GU7e4SG/EGR8SvldjYfQTWFLg1l/UT1hOOkQZwdsaW1zgKyeuiFB2KdMmbA\n"
+ "Sq+Ux1L1KICo0IglwWcB/8nnAgMBAAEwDQYJKoZIhvcNAQEMBQADggGBAMYwJkNw\n"
+ "BaCviKFmReDTMwWPRy4AMNViEeqAXgERwDEKwM7efjsaj5gctWfKsxX6UdLzkhgg\n"
+ "6S/T6PxVWKzJ6l7SoOuTa6tMQOZp+h3R1mdfEQbw8B5cXBxZ+batzAai6Fiy1FKS\n"
+ "/ka3INbcGfYuIYghfTrb4/NJKN06ZaQ1bpPwq0e4gN7800T2nbawvSf7r+8ZLcG3\n"
+ "6bGCjRMwDSIipNvOwoj3TG315XC7TccX5difQ4sKOY+d2MkVJ3RiO0Ciw2ZbEW8d\n"
+ "1FH5vUQJWnBUfSFznosGzLwH3iWfqlP+27jNE+qB2igEwCRFgVAouURx5ou43xuX\n"
+ "qf6JkdI3HTJGLIWxkp7gOeln4dEaYzKjYw+P0VqJvKVqQ0IXiLjHgE0J9p0vgyD6\n"
+ "HVVcP7U8RgqrbIjL1QgHU4KBhGi+WSUh/mRplUCNvHgcYdcHi/gHpj/j6ubwqIGV\n"
+ "z4iSolAHYTmBWcLyE0NgpzE6ntp+53r2KaUJA99l2iGVzbWTwqPSm0XAVw==\n"
+ "-----END CERTIFICATE-----\n";
public static final X509Certificate CLIENT_SUITE_B_RSA3072_CERT =
loadCertificate(CLIENT_SUITE_B_RSA3072_CERT_STRING);
private static X509Certificate loadCertificate(String blob) {
try {
final CertificateFactory certFactory = CertificateFactory.getInstance("X.509");

View File

@@ -23,8 +23,6 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import android.net.wifi.EAPConstants;
import android.net.wifi.FakeKeys;
import android.net.wifi.hotspot2.pps.Credential;
import android.net.wifi.hotspot2.pps.HomeSp;
import android.os.Parcel;
@@ -34,11 +32,6 @@ import androidx.test.filters.SmallTest;
import org.junit.Test;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.cert.CertificateEncodingException;
import java.security.cert.X509Certificate;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -390,39 +383,19 @@ public class PasspointConfigurationTest {
}
/**
* Verify that the unique identifier generated is the same for two instances with different
* HomeSp node but same FQDN
* Verify that the unique identifier generated is different for two instances with different
* HomeSp node
*
* @throws Exception
*/
@Test
public void validateUniqueIdDifferentHomeSpSameFqdn() throws Exception {
public void validateUniqueIdDifferentHomeSp() throws Exception {
PasspointConfiguration config1 = PasspointTestUtils.createConfig();
// Modify config2's RCOIs and friendly name to a different set of values
// Modify config2's RCOIs to a different set of values
PasspointConfiguration config2 = PasspointTestUtils.createConfig();
HomeSp homeSp = config2.getHomeSp();
homeSp.setRoamingConsortiumOis(new long[] {0xaa, 0xbb});
homeSp.setFriendlyName("Some other name");
config2.setHomeSp(homeSp);
assertEquals(config1.getUniqueId(), config2.getUniqueId());
}
/**
* Verify that the unique identifier generated is different for two instances with the same
* HomeSp node but different FQDN
*
* @throws Exception
*/
@Test
public void validateUniqueIdSameHomeSpDifferentFqdn() throws Exception {
PasspointConfiguration config1 = PasspointTestUtils.createConfig();
// Modify config2's FQDN to a different value
PasspointConfiguration config2 = PasspointTestUtils.createConfig();
HomeSp homeSp = config2.getHomeSp();
homeSp.setFqdn("fqdn2.com");
config2.setHomeSp(homeSp);
assertNotEquals(config1.getUniqueId(), config2.getUniqueId());
@@ -430,15 +403,15 @@ public class PasspointConfigurationTest {
/**
* Verify that the unique identifier generated is different for two instances with different
* SIM Credential node
* Credential node
*
* @throws Exception
*/
@Test
public void validateUniqueIdDifferentSimCredential() throws Exception {
public void validateUniqueIdDifferentCredential() throws Exception {
PasspointConfiguration config1 = PasspointTestUtils.createConfig();
// Modify config2's realm and SIM credential to a different set of values
// Modify config2's RCOIs to a different set of values
PasspointConfiguration config2 = PasspointTestUtils.createConfig();
Credential credential = config2.getCredential();
credential.setRealm("realm2.example.com");
@@ -448,157 +421,6 @@ public class PasspointConfigurationTest {
assertNotEquals(config1.getUniqueId(), config2.getUniqueId());
}
/**
* Verify that the unique identifier generated is different for two instances with different
* Realm in the Credential node
*
* @throws Exception
*/
@Test
public void validateUniqueIdDifferentRealm() throws Exception {
PasspointConfiguration config1 = PasspointTestUtils.createConfig();
// Modify config2's realm to a different set of values
PasspointConfiguration config2 = PasspointTestUtils.createConfig();
Credential credential = config2.getCredential();
credential.setRealm("realm2.example.com");
config2.setCredential(credential);
assertNotEquals(config1.getUniqueId(), config2.getUniqueId());
}
/**
* Verify that the unique identifier generated is the same for two instances with different
* password and same username in the User Credential node
*
* @throws Exception
*/
@Test
public void validateUniqueIdSameUserInUserCredential() throws Exception {
PasspointConfiguration config1 = PasspointTestUtils.createConfig();
Credential credential = createCredentialWithUserCredential("user", "passwd");
config1.setCredential(credential);
// Modify config2's Passpowrd to a different set of values
PasspointConfiguration config2 = PasspointTestUtils.createConfig();
credential = createCredentialWithUserCredential("user", "newpasswd");
config2.setCredential(credential);
assertEquals(config1.getUniqueId(), config2.getUniqueId());
}
/**
* Verify that the unique identifier generated is different for two instances with different
* username in the User Credential node
*
* @throws Exception
*/
@Test
public void validateUniqueIdDifferentUserCredential() throws Exception {
PasspointConfiguration config1 = PasspointTestUtils.createConfig();
Credential credential = createCredentialWithUserCredential("user", "passwd");
config1.setCredential(credential);
// Modify config2's username to a different value
PasspointConfiguration config2 = PasspointTestUtils.createConfig();
credential = createCredentialWithUserCredential("user2", "passwd");
config2.setCredential(credential);
assertNotEquals(config1.getUniqueId(), config2.getUniqueId());
}
/**
* Verify that the unique identifier generated is different for two instances with different
* Cert Credential node
*
* @throws Exception
*/
@Test
public void validateUniqueIdDifferentCertCredential() throws Exception {
PasspointConfiguration config1 = PasspointTestUtils.createConfig();
Credential credential = createCredentialWithCertificateCredential(true, true);
config1.setCredential(credential);
// Modify config2's cert credential to a different set of values
PasspointConfiguration config2 = PasspointTestUtils.createConfig();
credential = createCredentialWithCertificateCredential(false, false);
config2.setCredential(credential);
assertNotEquals(config1.getUniqueId(), config2.getUniqueId());
}
/**
* Helper function for generating certificate credential for testing.
*
* @return {@link Credential}
*/
private static Credential createCredentialWithCertificateCredential(Boolean useCaCert0,
Boolean useCert0)
throws NoSuchAlgorithmException, CertificateEncodingException {
Credential.CertificateCredential certCred = new Credential.CertificateCredential();
certCred.setCertType("x509v3");
if (useCert0) {
certCred.setCertSha256Fingerprint(
MessageDigest.getInstance("SHA-256").digest(FakeKeys.CLIENT_CERT.getEncoded()));
} else {
certCred.setCertSha256Fingerprint(MessageDigest.getInstance("SHA-256")
.digest(FakeKeys.CLIENT_SUITE_B_RSA3072_CERT.getEncoded()));
}
return createCredential(null, certCred, null, new X509Certificate[] {FakeKeys.CLIENT_CERT},
FakeKeys.RSA_KEY1, useCaCert0 ? FakeKeys.CA_CERT0 : FakeKeys.CA_CERT1);
}
/**
* Helper function for generating user credential for testing.
*
* @return {@link Credential}
*/
private static Credential createCredentialWithUserCredential(String username, String password) {
Credential.UserCredential userCred = new Credential.UserCredential();
userCred.setUsername(username);
userCred.setPassword(password);
userCred.setMachineManaged(true);
userCred.setAbleToShare(true);
userCred.setSoftTokenApp("TestApp");
userCred.setEapType(EAPConstants.EAP_TTLS);
userCred.setNonEapInnerMethod("MS-CHAP");
return createCredential(userCred, null, null, null, null, FakeKeys.CA_CERT0);
}
/**
* Helper function for generating Credential for testing.
*
* @param userCred Instance of UserCredential
* @param certCred Instance of CertificateCredential
* @param simCred Instance of SimCredential
* @param clientCertificateChain Chain of client certificates
* @param clientPrivateKey Client private key
* @param caCerts CA certificates
* @return {@link Credential}
*/
private static Credential createCredential(Credential.UserCredential userCred,
Credential.CertificateCredential certCred,
Credential.SimCredential simCred,
X509Certificate[] clientCertificateChain, PrivateKey clientPrivateKey,
X509Certificate... caCerts) {
Credential cred = new Credential();
cred.setCreationTimeInMillis(123455L);
cred.setExpirationTimeInMillis(2310093L);
cred.setRealm("realm");
cred.setCheckAaaServerCertStatus(true);
cred.setUserCredential(userCred);
cred.setCertCredential(certCred);
cred.setSimCredential(simCred);
if (caCerts != null && caCerts.length == 1) {
cred.setCaCertificate(caCerts[0]);
} else {
cred.setCaCertificates(caCerts);
}
cred.setClientCertificateChain(clientCertificateChain);
cred.setClientPrivateKey(clientPrivateKey);
return cred;
}
/**
* Verify that the unique identifier API generates an exception if HomeSP is not initialized.
*

View File

@@ -593,10 +593,10 @@ public class CredentialTest {
}
/**
* Verify that unique identifiers are different for a credential with different username
* Verify that unique identifiers are different for a credential with different values
*/
@Test
public void testUniqueIdDifferentForUserCredentialsWithDifferentUsername() throws Exception {
public void testUniqueIdDifferentForUserCredentialsWithDifferentValues() throws Exception {
Credential userCred1 = createCredentialWithUserCredential();
Credential userCred2 = createCredentialWithUserCredential();
userCred2.getUserCredential().setUsername("anotheruser");
@@ -605,24 +605,7 @@ public class CredentialTest {
}
/**
* Verify that unique identifiers are different for a credential with different password and
* other values other than username
*/
@Test
public void testUniqueIdSameForUserCredentialsWithDifferentPassword() throws Exception {
Credential userCred1 = createCredentialWithUserCredential();
Credential userCred2 = createCredentialWithUserCredential();
userCred2.getUserCredential().setPassword("someotherpassword!");
userCred2.getUserCredential().setMachineManaged(false);
userCred2.getUserCredential().setAbleToShare(false);
userCred2.getUserCredential().setSoftTokenApp("TestApp2");
userCred2.getUserCredential().setNonEapInnerMethod("PAP");
assertEquals(userCred1.getUniqueId(), userCred2.getUniqueId());
}
/**
* Verify that unique identifiers are different for a cert credential with different values
* Verify that unique identifiers are different for a credential with different values
*/
@Test
public void testUniqueIdDifferentForCertCredentialsWithDifferentValues() throws Exception {