aboutsummaryrefslogtreecommitdiff
path: root/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java')
-rw-r--r--tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java284
1 files changed, 284 insertions, 0 deletions
diff --git a/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
new file mode 100644
index 00000000..e70c2a2f
--- /dev/null
+++ b/tests/iketests/src/java/com/android/internal/net/eap/message/mschapv2/EapMsChapV2PacketDefinitions.java
@@ -0,0 +1,284 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.internal.net.eap.message.mschapv2;
+
+import static com.android.internal.net.TestUtils.hexStringToByteArray;
+
+public class EapMsChapV2PacketDefinitions {
+ public static final String ID = "1F";
+ public static final int ID_INT = Integer.parseInt(ID, 16 /* radix */);
+
+ public static final String CHALLENGE = "000102030405060708090A0B0C0D0E0F";
+ public static final byte[] CHALLENGE_BYTES = hexStringToByteArray(CHALLENGE);
+
+ // server name is the ASCII hex for "authenticator@android.net"
+ public static final String SERVER_NAME = "61757468656E74696361746F7240616E64726F69642E6E6574";
+ public static final byte[] SERVER_NAME_BYTES = hexStringToByteArray(SERVER_NAME);
+ public static final byte[] EAP_MSCHAP_V2_CHALLENGE_REQUEST =
+ hexStringToByteArray("01" + ID + "002E10" + CHALLENGE + SERVER_NAME);
+
+ public static final byte[] CHALLENGE_REQUEST_WRONG_OP_CODE = hexStringToByteArray("02");
+ public static final String SHORT_CHALLENGE = "001122334455";
+ public static final byte[] SHORT_CHALLENGE_BYTES = hexStringToByteArray(SHORT_CHALLENGE);
+ public static final byte[] CHALLENGE_REQUEST_SHORT_CHALLENGE =
+ hexStringToByteArray("01" + ID + "002406" + SHORT_CHALLENGE + SERVER_NAME);
+ public static final byte[] CHALLENGE_REQUEST_SHORT_MS_LENGTH =
+ hexStringToByteArray("01" + ID + "000110" + CHALLENGE + SERVER_NAME);
+ public static final byte[] CHALLENGE_REQUEST_LONG_MS_LENGTH =
+ hexStringToByteArray("01" + ID + "00FF10" + CHALLENGE + SERVER_NAME);
+
+ public static final String PEER_CHALLENGE = "00112233445566778899AABBCCDDEEFF";
+ public static final byte[] PEER_CHALLENGE_BYTES = hexStringToByteArray(PEER_CHALLENGE);
+ public static final String NT_RESPONSE = "FFEEDDCCBBAA998877665544332211000011223344556677";
+ public static final byte[] NT_RESPONSE_BYTES = hexStringToByteArray(NT_RESPONSE);
+
+ // peer name is the ASCII hex for "peer@android.net"
+ public static final String PEER_NAME = "7065657240616E64726F69642E6E6574";
+ public static final byte[] PEER_NAME_BYTES = hexStringToByteArray(PEER_NAME);
+ public static final byte[] EAP_MSCHAP_V2_CHALLENGE_RESPONSE =
+ hexStringToByteArray(
+ "02"
+ + ID
+ + "004631"
+ + PEER_CHALLENGE
+ + "0000000000000000"
+ + NT_RESPONSE
+ + "00"
+ + PEER_NAME);
+
+ public static final byte[] SHORT_NT_RESPONSE = hexStringToByteArray("0011223344");
+
+ public static final String AUTH_STRING = "00112233445566778899AABBCCDDEEFF00112233";
+
+ // ASCII hex for AUTH_STRING
+ public static final String AUTH_STRING_HEX =
+ "30303131323233333434353536363737383839394141424243434444454546463030313132323333";
+ public static final byte[] AUTH_BYTES = hexStringToByteArray(AUTH_STRING);
+
+ // hex("S=") + AUTH_STRING_HEX
+ public static final String FORMATTED_AUTH_STRING = "533D" + AUTH_STRING_HEX;
+
+ public static final String SPACE_HEX = "20";
+
+ // ASCII hex for: "test Android 1234"
+ public static final String MESSAGE = "test Android 1234";
+ public static final String MESSAGE_HEX = "7465737420416E64726F69642031323334";
+
+ // hex("M=") + MESSAGE_HEX
+ public static final String FORMATTED_MESSAGE = "4D3D" + MESSAGE_HEX;
+
+ public static final byte[] EAP_MSCHAP_V2_SUCCESS_REQUEST =
+ hexStringToByteArray(
+ "03" + ID + "0042" + FORMATTED_AUTH_STRING + SPACE_HEX + FORMATTED_MESSAGE);
+ public static final byte[] EAP_MSCHAP_V2_SUCCESS_REQUEST_EMPTY_MESSAGE =
+ hexStringToByteArray("03" + ID + "0031" + FORMATTED_AUTH_STRING + SPACE_HEX + "4D3D");
+ public static final byte[] EAP_MSCHAP_V2_SUCCESS_REQUEST_MISSING_MESSAGE =
+ hexStringToByteArray("03" + ID + "002E" + FORMATTED_AUTH_STRING);
+ public static final byte[] EAP_MSCHAP_V2_SUCCESS_REQUEST_MISSING_MESSAGE_WITH_SPACE =
+ hexStringToByteArray("03" + ID + "002F" + FORMATTED_AUTH_STRING + SPACE_HEX);
+ public static final String MESSAGE_MISSING_TEXT = "<omitted by authenticator>";
+
+ public static final String SHORT_AUTH_STRING = "001122334455";
+
+ public static final byte[] SUCCESS_REQUEST_WRONG_OP_CODE = hexStringToByteArray("02");
+
+ // message format: hex("M=") + AUTH_STRING_HEX + hex("M=") + MESSAGE_HEX
+ public static final byte[] SUCCESS_REQUEST_WRONG_PREFIX =
+ hexStringToByteArray("03" + ID + "00314D3D" + AUTH_STRING_HEX + SPACE_HEX + "4D3D");
+
+ // message format: hex("S=") + SHORT_AUTH_STRING + hex("M=") + MESSAGE_HEX
+ public static final byte[] SUCCESS_REQUEST_SHORT_AUTH_STRING =
+ hexStringToByteArray("03" + ID + "0031533D" + SHORT_AUTH_STRING + SPACE_HEX + "4D3D");
+
+ public static final String INVALID_AUTH_HEX =
+ "3030313132323333343435353636373738383939414142424343444445454646303031317A7A7979";
+ public static final byte[] SUCCESS_REQUEST_INVALID_AUTH_STRING =
+ hexStringToByteArray("03" + ID + "0031533D" + INVALID_AUTH_HEX + SPACE_HEX + "4D3D");
+
+ // extra key-value: hex("N=12")
+ public static final String EXTRA_KEY = "4E3D3132";
+ public static final byte[] SUCCESS_REQUEST_EXTRA_ATTRIBUTE =
+ hexStringToByteArray(
+ "03"
+ + ID
+ + "0042"
+ + FORMATTED_AUTH_STRING
+ + SPACE_HEX
+ + EXTRA_KEY
+ + SPACE_HEX
+ + FORMATTED_MESSAGE);
+
+ public static final String SUCCESS_REQUEST = "S=" + AUTH_STRING + " M=" + MESSAGE;
+ public static final String EXTRA_M_MESSAGE = "M=" + MESSAGE;
+ public static final String SUCCESS_REQUEST_EXTRA_M =
+ "S=" + AUTH_STRING + " M=" + EXTRA_M_MESSAGE;
+ public static final String SUCCESS_REQUEST_MISSING_M = "S=" + AUTH_STRING;
+ public static final String SUCCESS_REQUEST_INVALID_FORMAT =
+ "S==" + AUTH_STRING + "M=" + MESSAGE;
+ public static final String SUCCESS_REQUEST_DUPLICATE_KEY =
+ "S=" + AUTH_STRING + " S=" + AUTH_STRING + " M=" + MESSAGE;
+
+ public static final byte[] EAP_MSCHAP_V2_SUCCESS_RESPONSE = hexStringToByteArray("03");
+
+ public static final int ERROR_CODE = 647; // account disabled
+
+ // formatted error code: hex("E=" + ERROR_CODE)
+ public static final String FORMATTED_ERROR_CODE = "453D363437";
+ public static final boolean RETRY_BIT = true;
+
+ // formatted retry bit: hex("R=1")
+ public static final String FORMATTED_RETRY_BIT = "523D31";
+
+ // challenge hex: hex(CHALLENGE)
+ public static final String CHALLENGE_HEX =
+ "3030303130323033303430353036303730383039304130423043304430453046";
+
+ // formatted challenge: hex("C=") + CHALLENGE_HEX
+ public static final String FORMATTED_CHALLENGE = "433D" + CHALLENGE_HEX;
+
+ public static final int PASSWORD_CHANGE_PROTOCOL = 3;
+
+ // formatted password change protocol: hex("V=3")
+ public static final String FORMATTED_PASSWORD_CHANGE_PROTOCOL = "563D33";
+
+ public static final byte[] EAP_MSCHAP_V2_FAILURE_REQUEST =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0048"
+ + FORMATTED_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + FORMATTED_CHALLENGE
+ + SPACE_HEX
+ + FORMATTED_PASSWORD_CHANGE_PROTOCOL
+ + SPACE_HEX
+ + FORMATTED_MESSAGE);
+ public static final byte[] EAP_MSCHAP_V2_FAILURE_REQUEST_MISSING_MESSAGE =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0034"
+ + FORMATTED_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + FORMATTED_CHALLENGE
+ + SPACE_HEX
+ + FORMATTED_PASSWORD_CHANGE_PROTOCOL);
+ public static final byte[] EAP_MSCHAP_V2_FAILURE_REQUEST_MISSING_MESSAGE_WITH_SPACE =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0035"
+ + FORMATTED_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + FORMATTED_CHALLENGE
+ + SPACE_HEX
+ + FORMATTED_PASSWORD_CHANGE_PROTOCOL
+ + SPACE_HEX);
+
+ // invalid error code: hex("E=abc")
+ public static final String INVALID_ERROR_CODE = "453D616263";
+ public static final byte[] FAILURE_REQUEST_INVALID_ERROR_CODE =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0048"
+ + INVALID_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + FORMATTED_CHALLENGE
+ + SPACE_HEX
+ + FORMATTED_PASSWORD_CHANGE_PROTOCOL
+ + SPACE_HEX
+ + FORMATTED_MESSAGE);
+
+ // invalid challenge: hex("C=zyxd")
+ public static final String INVALID_CHALLENGE = "433D7A797864";
+ public static final byte[] FAILURE_REQUEST_INVALID_CHALLENGE =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0032"
+ + FORMATTED_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + INVALID_CHALLENGE
+ + SPACE_HEX
+ + FORMATTED_PASSWORD_CHANGE_PROTOCOL
+ + SPACE_HEX
+ + FORMATTED_MESSAGE);
+
+ // short challenge: hex("C=" + SHORT_CHALLENGE)
+ public static final String FORMATTED_SHORT_CHALLENGE = "433D303031313232333334343535";
+ public static final byte[] FAILURE_REQUEST_SHORT_CHALLENGE =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0034"
+ + FORMATTED_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + FORMATTED_SHORT_CHALLENGE
+ + SPACE_HEX
+ + FORMATTED_PASSWORD_CHANGE_PROTOCOL
+ + SPACE_HEX
+ + FORMATTED_MESSAGE);
+
+ // invalid password change protocol: hex("V=d")
+ public static final String INVALID_PASSWORD_CHANGE_PROTOCOL = "563D64";
+ public static final byte[] FAILURE_REQUEST_INVALID_PASSWORD_CHANGE_PROTOCOL =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0048"
+ + FORMATTED_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + FORMATTED_CHALLENGE
+ + SPACE_HEX
+ + INVALID_PASSWORD_CHANGE_PROTOCOL
+ + SPACE_HEX
+ + FORMATTED_MESSAGE);
+
+ public static final byte[] FAILURE_REQUEST_EXTRA_ATTRIBUTE =
+ hexStringToByteArray(
+ "04"
+ + ID
+ + "0048"
+ + FORMATTED_ERROR_CODE
+ + SPACE_HEX
+ + FORMATTED_RETRY_BIT
+ + SPACE_HEX
+ + FORMATTED_CHALLENGE
+ + SPACE_HEX
+ + FORMATTED_PASSWORD_CHANGE_PROTOCOL
+ + SPACE_HEX
+ + EXTRA_KEY
+ + SPACE_HEX
+ + FORMATTED_MESSAGE);
+
+ public static final byte[] EAP_MSCHAP_V2_FAILURE_RESPONSE = hexStringToByteArray("04");
+}