aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests/src/java/com/android
diff options
context:
space:
mode:
authorYan Yan <evitayan@google.com>2018-11-15 18:34:45 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-11-15 18:34:45 +0000
commitc41fcd8b60adde12a215f30666aa159d1d6c2043 (patch)
treeec7dbe9224858d3f8851a0f9c27feae29a9afa0f /tests/iketests/src/java/com/android
parent1422641f36b80ad9ca67f5ee4833d038dd0e6eb1 (diff)
parent307caf3c40cee181be70ff9ff8f3259941b3b307 (diff)
downloadike-c41fcd8b60adde12a215f30666aa159d1d6c2043.tar.gz
Merge "Implement IntegrityTransform"
Diffstat (limited to 'tests/iketests/src/java/com/android')
-rw-r--r--tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java46
1 files changed, 44 insertions, 2 deletions
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java b/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java
index 20bc67e0..a76a89c8 100644
--- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java
+++ b/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java
@@ -33,6 +33,7 @@ import com.android.ike.ikev2.exceptions.InvalidSyntaxException;
import com.android.ike.ikev2.message.IkeSaPayload.Attribute;
import com.android.ike.ikev2.message.IkeSaPayload.AttributeDecoder;
import com.android.ike.ikev2.message.IkeSaPayload.EncryptionTransform;
+import com.android.ike.ikev2.message.IkeSaPayload.IntegrityTransform;
import com.android.ike.ikev2.message.IkeSaPayload.KeyLengthAttribute;
import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform;
import com.android.ike.ikev2.message.IkeSaPayload.Proposal;
@@ -73,6 +74,8 @@ public final class IkeSaPayloadTest {
+ "00000804000012000000080400000e";
private static final String ENCR_TRANSFORM_RAW_PACKET = "0300000c0100000c800e0080";
private static final String PRF_TRANSFORM_RAW_PACKET = "0000000802000002";
+ private static final String INTEG_TRANSFORM_RAW_PACKET = "0300000803000002";
+
private static final int TRANSFORM_TYPE_POSITION = 4;
private static final int TRANSFORM_ID_POSITION = 7;
@@ -151,7 +154,7 @@ public final class IkeSaPayloadTest {
}
@Test
- public void testConstructEncryptionTransformWithUnSupportedId() throws Exception {
+ public void testConstructEncryptionTransformWithUnsupportedId() throws Exception {
try {
new EncryptionTransform(SaProposal.ENCRYPTION_ALGORITHM_3DES + 1);
fail("Expected IllegalArgumentException for unsupported Transform ID");
@@ -184,7 +187,7 @@ public final class IkeSaPayloadTest {
}
@Test
- public void testConstructPrfTransformWithUnSupportedId() throws Exception {
+ public void testConstructPrfTransformWithUnsupportedId() throws Exception {
try {
new PrfTransform(SaProposal.PSEUDORANDOM_FUNCTION_AES128_XCBC + 1);
fail("Expected IllegalArgumentException for unsupported Transform ID");
@@ -193,6 +196,45 @@ public final class IkeSaPayloadTest {
}
@Test
+ public void testDecodeIntegrityTransform() throws Exception {
+ byte[] inputPacket = TestUtils.hexStringToByteArray(INTEG_TRANSFORM_RAW_PACKET);
+ ByteBuffer inputBuffer = ByteBuffer.wrap(inputPacket);
+
+ when(mMockedAttributeDecoder.decodeAttributes(anyInt(), any()))
+ .thenReturn(new LinkedList<Attribute>());
+ Transform.sAttributeDecoder = mMockedAttributeDecoder;
+
+ Transform transform = Transform.readFrom(inputBuffer);
+ assertEquals(Transform.TRANSFORM_TYPE_INTEG, transform.type);
+ assertEquals(SaProposal.INTEGRITY_ALGORITHM_HMAC_SHA1_96, transform.id);
+ assertTrue(transform.isSupported);
+ }
+
+ @Test
+ public void testDecodeIntegrityTransformWithUnrecognizedAttribute() throws Exception {
+ byte[] inputPacket = TestUtils.hexStringToByteArray(INTEG_TRANSFORM_RAW_PACKET);
+ ByteBuffer inputBuffer = ByteBuffer.wrap(inputPacket);
+
+ when(mMockedAttributeDecoder.decodeAttributes(anyInt(), any()))
+ .thenReturn(mAttributeListWithKeyLength128);
+ Transform.sAttributeDecoder = mMockedAttributeDecoder;
+
+ Transform transform = Transform.readFrom(inputBuffer);
+ assertEquals(Transform.TRANSFORM_TYPE_INTEG, transform.type);
+ assertEquals(SaProposal.INTEGRITY_ALGORITHM_HMAC_SHA1_96, transform.id);
+ assertFalse(transform.isSupported);
+ }
+
+ @Test
+ public void testConstructIntegrityTransformWithUnsupportedId() throws Exception {
+ try {
+ new IntegrityTransform(SaProposal.INTEGRITY_ALGORITHM_HMAC_SHA1_96 + 1);
+ fail("Expected IllegalArgumentException for unsupported Transform ID");
+ } catch (IllegalArgumentException expected) {
+ }
+ }
+
+ @Test
public void testDecodeUnrecognizedTransform() throws Exception {
byte[] inputPacket = TestUtils.hexStringToByteArray(ENCR_TRANSFORM_RAW_PACKET);
inputPacket[TRANSFORM_TYPE_POSITION] = 6;