Я отправляю команду аутентификации AES на тег MifareDesfire и получаю исключение Tag Lost.
В качестве первого кода команды в desfire: 0xAA с номером ключа карты 0x00 (основной ключ карты)
попробовали это на собственной аутентификации (DES) и отлично работают для нативной команды: (0x0A, 0x00)
Sample code
:
public void onNewIntent(Intent intent) {
TextView text2 = (TextView) findViewById(R.id.textView2);
TextView text1 = (TextView) findViewById(R.id.textView1);
String action = intent.getAction();
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)
|| NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)
|| NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {
Toast.makeText(this, "discovered", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Falied", Toast.LENGTH_SHORT).show();
}
byte[] tagResponse = null;
desfire = (Tag) intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
isodep = IsoDep.get(desfire);
try {
isodep.connect();
} catch (IOException e) {
e.printStackTrace();
}
byte[] test = new byte[] { (byte) 0xAA, (byte) 0x00 };
try {
tagResponse = isodep.transceive(test);
} catch (IOException e) {
e.printStackTrace();
}
try {
isodep.close();
} catch (IOException e) {
e.printStackTrace();
}
}