是否有人能够使用此加密方法对此卡进行身份验证?在选择应用程序并开始身份验证后,我不知道该怎么做。以下是我的代码。仅复制了相关部分并使用了示例KEY和SELECT_APP
//AUTHENTICATION COMMANDS
private static final byte[] NATIVE_AUTHENTICATION_KEY = new byte[] {
(byte) 0x01, (byte) 0x02, (byte) 0x01, (byte) 0x04, (byte) 0x05,
(byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x09, (byte) 0x0A,
(byte) 0x0B, (byte) 0x0C, (byte) 0x0D, (byte) 0x0E, (byte) 0x0F,
(byte) 0x00 };
private static final byte[] START_AUTHENTICATION_COMMAND = new byte[] {
(byte) 0xAA, (byte) 0x01 };
private static byte[] SELECT_APPLICATION = { (byte) 0x5A, (byte) 0x01,
(byte) 0x02, (byte) 0x03 };
//AUTHENTICATION FUNCTION
private void StartAuthentication(Tag tag) {
try {
IsoDep.get(tag).connect();
byte[] response = IsoDep.get(tag)
.transceive(SELECT_APPLICATION);
Log.e("SELECT_APP", ByteArrayToHexString(response));
byte[] response2 = IsoDep.get(tag).transceive(START_AUTHENTICATION_COMMAND);
Log.e("START_AUTH", ByteArrayToHexString(response2));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
SELECT_APP返回0x00(OK),START_AUTH返回0xAF +(16bit)。得到之后该怎么办?