diff options
author | evitayan <evitayan@google.com> | 2018-10-18 16:03:15 -0700 |
---|---|---|
committer | evitayan <evitayan@google.com> | 2018-10-19 11:23:06 -0700 |
commit | 0c8937a647aa762ce69d060ba4fdbd3603847223 (patch) | |
tree | 7c2697695b1fa4fb3209fb096415468dc88bc10b /tests/iketests/src | |
parent | 3ab61333c559c0e1e536b9d1c3d751230983339c (diff) | |
download | ike-0c8937a647aa762ce69d060ba4fdbd3603847223.tar.gz |
Implement PrfTransform
This commit:
- Implement PrfTransform
- Add constants of supported prfs
Bug: 115994442
Test: FrameworksIkeTests IkeSaPayloadTest
Change-Id: I74f741769bf9f0ffe6d133f9f5095fa3fec04106
Diffstat (limited to 'tests/iketests/src')
-rw-r--r-- | tests/iketests/src/java/com/android/ike/ikev2/message/IkeSaPayloadTest.java | 26 |
1 files changed, 26 insertions, 0 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 e2909fc0..20bc67e0 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 @@ -34,6 +34,7 @@ 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.KeyLengthAttribute; +import com.android.ike.ikev2.message.IkeSaPayload.PrfTransform; import com.android.ike.ikev2.message.IkeSaPayload.Proposal; import com.android.ike.ikev2.message.IkeSaPayload.Transform; import com.android.ike.ikev2.message.IkeSaPayload.TransformDecoder; @@ -71,6 +72,7 @@ public final class IkeSaPayloadTest { + "400001e030000080400001f030000080400000f030000080400001003" + "00000804000012000000080400000e"; private static final String ENCR_TRANSFORM_RAW_PACKET = "0300000c0100000c800e0080"; + private static final String PRF_TRANSFORM_RAW_PACKET = "0000000802000002"; private static final int TRANSFORM_TYPE_POSITION = 4; private static final int TRANSFORM_ID_POSITION = 7; @@ -167,6 +169,30 @@ public final class IkeSaPayloadTest { } @Test + public void testDecodePrfTransform() throws Exception { + byte[] inputPacket = TestUtils.hexStringToByteArray(PRF_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_PRF, transform.type); + assertEquals(SaProposal.PSEUDORANDOM_FUNCTION_HMAC_SHA1, transform.id); + assertTrue(transform.isSupported); + } + + @Test + public void testConstructPrfTransformWithUnSupportedId() throws Exception { + try { + new PrfTransform(SaProposal.PSEUDORANDOM_FUNCTION_AES128_XCBC + 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; |