diff options
author | Yan Yan <evitayan@google.com> | 2018-11-15 18:34:45 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-11-15 18:34:45 +0000 |
commit | c41fcd8b60adde12a215f30666aa159d1d6c2043 (patch) | |
tree | ec7dbe9224858d3f8851a0f9c27feae29a9afa0f /tests/iketests/src/java | |
parent | 1422641f36b80ad9ca67f5ee4833d038dd0e6eb1 (diff) | |
parent | 307caf3c40cee181be70ff9ff8f3259941b3b307 (diff) | |
download | ike-c41fcd8b60adde12a215f30666aa159d1d6c2043.tar.gz |
Merge "Implement IntegrityTransform"
Diffstat (limited to 'tests/iketests/src/java')
-rw-r--r-- | tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java | 46 |
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; |