почему я получаю исключение Tag Lost при аутентификации AES в mifare plus и MifareDesfire EV1

Я отправляю команду аутентификации 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();

            }
        }

person vijaycaimi    schedule 07.10.2014    source источник


Ответы (1)


Решено: проблема с радиочастотной антенной, я держал метку на близком расстоянии
Аутентификации AES требуется больше мощности для обмена данными между PCD и PICC.

person vijaycaimi    schedule 17.10.2014