Merge "Improve IKEv2/IPsec VPN by proposing more IPsec algorithms" am: 5cb9e37a55
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1690265 Change-Id: I8b8a423b093f5a8696e43afbdac0cbb555dd4aff
This commit is contained in:
@@ -29,8 +29,8 @@ import androidx.test.filters.SmallTest;
|
|||||||
import androidx.test.runner.AndroidJUnit4;
|
import androidx.test.runner.AndroidJUnit4;
|
||||||
|
|
||||||
import com.android.internal.net.VpnProfile;
|
import com.android.internal.net.VpnProfile;
|
||||||
import com.android.net.module.util.ProxyUtils;
|
|
||||||
import com.android.internal.org.bouncycastle.x509.X509V1CertificateGenerator;
|
import com.android.internal.org.bouncycastle.x509.X509V1CertificateGenerator;
|
||||||
|
import com.android.net.module.util.ProxyUtils;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -170,7 +170,10 @@ public class Ikev2VpnProfileTest {
|
|||||||
final Ikev2VpnProfile.Builder builder = getBuilderWithDefaultOptions();
|
final Ikev2VpnProfile.Builder builder = getBuilderWithDefaultOptions();
|
||||||
builder.setAuthPsk(PSK_BYTES);
|
builder.setAuthPsk(PSK_BYTES);
|
||||||
|
|
||||||
List<String> allowedAlgorithms = Arrays.asList(IpSecAlgorithm.AUTH_CRYPT_AES_GCM);
|
List<String> allowedAlgorithms =
|
||||||
|
Arrays.asList(
|
||||||
|
IpSecAlgorithm.AUTH_CRYPT_AES_GCM,
|
||||||
|
IpSecAlgorithm.AUTH_CRYPT_CHACHA20_POLY1305);
|
||||||
builder.setAllowedAlgorithms(allowedAlgorithms);
|
builder.setAllowedAlgorithms(allowedAlgorithms);
|
||||||
|
|
||||||
final Ikev2VpnProfile profile = builder.build();
|
final Ikev2VpnProfile profile = builder.build();
|
||||||
@@ -183,7 +186,12 @@ public class Ikev2VpnProfileTest {
|
|||||||
builder.setAuthPsk(PSK_BYTES);
|
builder.setAuthPsk(PSK_BYTES);
|
||||||
|
|
||||||
List<String> allowedAlgorithms =
|
List<String> allowedAlgorithms =
|
||||||
Arrays.asList(IpSecAlgorithm.AUTH_HMAC_SHA512, IpSecAlgorithm.CRYPT_AES_CBC);
|
Arrays.asList(
|
||||||
|
IpSecAlgorithm.AUTH_HMAC_SHA512,
|
||||||
|
IpSecAlgorithm.AUTH_AES_XCBC,
|
||||||
|
IpSecAlgorithm.AUTH_AES_CMAC,
|
||||||
|
IpSecAlgorithm.CRYPT_AES_CBC,
|
||||||
|
IpSecAlgorithm.CRYPT_AES_CTR);
|
||||||
builder.setAllowedAlgorithms(allowedAlgorithms);
|
builder.setAllowedAlgorithms(allowedAlgorithms);
|
||||||
|
|
||||||
final Ikev2VpnProfile profile = builder.build();
|
final Ikev2VpnProfile profile = builder.build();
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertFalse;
|
|||||||
import static org.junit.Assert.assertNotEquals;
|
import static org.junit.Assert.assertNotEquals;
|
||||||
import static org.junit.Assert.assertNull;
|
import static org.junit.Assert.assertNull;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
import static org.junit.Assert.fail;
|
|
||||||
|
|
||||||
import android.net.IpSecAlgorithm;
|
import android.net.IpSecAlgorithm;
|
||||||
|
|
||||||
@@ -97,6 +96,7 @@ public class VpnProfileTest {
|
|||||||
p.setAllowedAlgorithms(
|
p.setAllowedAlgorithms(
|
||||||
Arrays.asList(
|
Arrays.asList(
|
||||||
IpSecAlgorithm.AUTH_CRYPT_AES_GCM,
|
IpSecAlgorithm.AUTH_CRYPT_AES_GCM,
|
||||||
|
IpSecAlgorithm.AUTH_CRYPT_CHACHA20_POLY1305,
|
||||||
IpSecAlgorithm.AUTH_HMAC_SHA512,
|
IpSecAlgorithm.AUTH_HMAC_SHA512,
|
||||||
IpSecAlgorithm.CRYPT_AES_CBC));
|
IpSecAlgorithm.CRYPT_AES_CBC));
|
||||||
p.isBypassable = true;
|
p.isBypassable = true;
|
||||||
@@ -125,30 +125,6 @@ public class VpnProfileTest {
|
|||||||
assertParcelSane(getSampleIkev2Profile(DUMMY_PROFILE_KEY), 23);
|
assertParcelSane(getSampleIkev2Profile(DUMMY_PROFILE_KEY), 23);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testSetInvalidAlgorithmValueDelimiter() {
|
|
||||||
final VpnProfile profile = getSampleIkev2Profile(DUMMY_PROFILE_KEY);
|
|
||||||
|
|
||||||
try {
|
|
||||||
profile.setAllowedAlgorithms(
|
|
||||||
Arrays.asList("test" + VpnProfile.VALUE_DELIMITER + "test"));
|
|
||||||
fail("Expected failure due to value separator in algorithm name");
|
|
||||||
} catch (IllegalArgumentException expected) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testSetInvalidAlgorithmListDelimiter() {
|
|
||||||
final VpnProfile profile = getSampleIkev2Profile(DUMMY_PROFILE_KEY);
|
|
||||||
|
|
||||||
try {
|
|
||||||
profile.setAllowedAlgorithms(
|
|
||||||
Arrays.asList("test" + VpnProfile.LIST_DELIMITER + "test"));
|
|
||||||
fail("Expected failure due to value separator in algorithm name");
|
|
||||||
} catch (IllegalArgumentException expected) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEncodeDecode() {
|
public void testEncodeDecode() {
|
||||||
final VpnProfile profile = getSampleIkev2Profile(DUMMY_PROFILE_KEY);
|
final VpnProfile profile = getSampleIkev2Profile(DUMMY_PROFILE_KEY);
|
||||||
|
|||||||
Reference in New Issue
Block a user