diff options
author | evitayan <evitayan@google.com> | 2019-01-16 11:55:16 -0800 |
---|---|---|
committer | evitayan <evitayan@google.com> | 2019-02-04 09:54:59 -0800 |
commit | ca7997888c7142211bd2e41f77a1f25d4e8f4f0b (patch) | |
tree | ab1abc679fde6fdb4da99b95bc462958e68f1256 /tests/iketests/src/java/com/android | |
parent | 293f64e8dfa0a1e0c5c94b51521f6789e1b78be1 (diff) | |
download | ike-ca7997888c7142211bd2e41f77a1f25d4e8f4f0b.tar.gz |
Create IkeEncryptedPayloadBody
This commit:
- Createt IkeEncryptedPayloadBody for decryption and encryption
payload list
- Remove IV from input parameters
Bug: 122555731
Test: FrameworksIkeTests IkeSkPayloadTest
Change-Id: I975ccaa42b3eda006fbd30b161069ef479267111
Diffstat (limited to 'tests/iketests/src/java/com/android')
-rw-r--r-- | tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java b/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java index 3f97162e..aebd1194 100644 --- a/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java +++ b/tests/iketests/src/java/com/android/ike/ikev2/message/IkeSkPayloadTest.java @@ -22,7 +22,9 @@ import static org.junit.Assert.fail; import org.junit.Before; import org.junit.Test; +import java.nio.ByteBuffer; import java.security.GeneralSecurityException; +import java.util.Arrays; import javax.crypto.Cipher; import javax.crypto.Mac; @@ -59,7 +61,6 @@ public final class IkeSkPayloadTest { private static final String ENCR_ALGO_AES_CBC = "AES/CBC/NoPadding"; private static final String INTE_ALGO_HMAC_SHA1 = "HmacSHA1"; - private static final int IV_LEN = 16; private static final int CHECKSUM_LEN = 12; private Cipher mAesCbcDecryptCipher; @@ -90,12 +91,11 @@ public final class IkeSkPayloadTest { mHmacSha1IntegrityMac, CHECKSUM_LEN, mAesCbcDecryptCipher, - mAesCbcDecryptKey, - IV_LEN) + mAesCbcDecryptKey) .first; byte[] expectedPlaintext = TestUtils.hexStringToByteArray(IKE_AUTH_INIT_REQUEST_DECRYPTED_BODY_HEX_STRING); - assertArrayEquals(expectedPlaintext, payload.unencryptedPayloads); + assertArrayEquals(expectedPlaintext, payload.getUnencryptedPayloads()); } @Test @@ -109,10 +109,28 @@ public final class IkeSkPayloadTest { mHmacSha1IntegrityMac, CHECKSUM_LEN, mAesCbcDecryptCipher, - mAesCbcDecryptKey, - IV_LEN); + mAesCbcDecryptKey); fail("Expected GeneralSecurityException: Invalid checksum."); } catch (GeneralSecurityException expected) { } } + + @Test + public void testEncode() throws Exception { + byte[] message = TestUtils.hexStringToByteArray(IKE_AUTH_INIT_REQUEST_HEX_STRING); + byte[] payloadBytes = + Arrays.copyOfRange(message, IkeHeader.IKE_HEADER_LENGTH, message.length); + IkeSkPayload payload = + IkePayloadFactory.getIkeSkPayload( + message, + mHmacSha1IntegrityMac, + CHECKSUM_LEN, + mAesCbcDecryptCipher, + mAesCbcDecryptKey) + .first; + int payloadLength = payload.getPayloadLength(); + ByteBuffer buffer = ByteBuffer.allocate(payloadLength); + payload.encodeToByteBuffer(IkePayload.PAYLOAD_TYPE_ID_INITIATOR, buffer); + assertArrayEquals(payloadBytes, buffer.array()); + } } |