为什么我在mifare plus和MifareDesfire EV1上的AES身份验证中获得Tag丢失的异常

时间:2014-10-07 17:56:50

标签: nfc mifare

我正在MifareDesfire标签上发送AES身份验证命令并获得Tag Lost异常。

因为desfire中的第一个命令代码是:0xAA,卡密钥为num 0x00(主卡密钥)

在本地身份验证(DES)上尝试了这一点,并且对于native来说工作正常,命令是:(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();

            }
        }

1 个答案:

答案 0 :(得分:0)

已解决:RF antina问题,我在附近保持强烈标记 AES认证需要更多的电力来在PCD和PICC之间交换数据。