gpt4 book ai didi

mifare - Taplinx : InvalidResponseLengthException: readData on desfire EV1 card

转载 作者:行者123 更新时间:2023-12-05 07:28:20 33 4
gpt4 key购买 nike

从 DESFire EVO1 卡(AES 加密)读取数据时,出现 InvalidResponseLengthException。我正在使用 taplinx 库版本 1.5

我的代码如下所示:

private void cardLogic(final Intent intent){

CardType cardType = m_libInstance.getCardType(intent);

Log.v(logTag, cardType.getTagName());

IDESFireEV1 objDESFireEV1 = DESFireFactory.getInstance().getDESFire(m_libInstance.getCustomModules());



Key key = new SecretKeySpec(AUTHENTICATION_KEY, "AES");

KeyData kd = new KeyData();

kd.setKey(key);

try {

objDESFireEV1.getReader().connect();

objDESFireEV1.getReader().setTimeout(2000);

objDESFireEV1.selectApplication(APP_ID);

Log.v(logTag, objDESFireEV1.getAuthStatus());

objDESFireEV1.authenticate(1, IDESFireEV1.AuthType.AES,KeyType.AES128 , kd);

Log.v(logTag, objDESFireEV1.getAuthStatus());

byte[] data = objDESFireEV1.readData(1, 0, 3);

Log.v(logTag, data.toString());

} catch(Throwable t) {

Log.e(logTag, t.getMessage(), t);

}

}

LogCat

2018-11-22 10:19:13.874 20228-20228/eu.mobitrace.mifaredesfiretest2 E/app-logger: on New intent
2018-11-22 10:19:13.977 20228-20228/eu.mobitrace.mifaredesfiretest2 V/app-logger: DESFire EV1
2018-11-22 10:19:13.993 20228-20228/eu.mobitrace.mifaredesfiretest2 V/app-logger: Not Authenticated
2018-11-22 10:19:14.035 20228-20228/eu.mobitrace.mifaredesfiretest2 V/app-logger: AES
2018-11-22 10:19:14.045 20228-20228/eu.mobitrace.mifaredesfiretest2 E/app-logger: Authentication Error

com.nxp.nfclib.exceptions.InvalidResponseLengthException: Authentication Error

at com.nxp.nfclib.desfire.ʻ.ˋ(:4559)

at com.nxp.nfclib.desfire.ʻ.ˋ(:4600)

at com.nxp.nfclib.desfire.ʿ.ˊ(:182)

at com.nxp.nfclib.desfire.ʻ.getFileSettings(:2043)

at com.nxp.nfclib.desfire.ʻ.ˏ(:2494)

at com.nxp.nfclib.desfire.ʻ.readData(:2531)

at eu.mobitrace.mifaredesfiretest2.MainActivity.cardLogic(MainActivity.java:101)

我从卡片制造商那里得到的信息:

  • 应用程序 ID:这看起来工作正常,当我输入其他 ID 时出现异常,提示未找到该应用程序
  • 身份验证 key :这看起来也能正常工作,使用此 key 时不会抛出异常。当我使用另一个(零或反转)时,它会在此处抛出异常
  • 此 key 的 key 权限:读取(1)
  • 文件 ID:1
  • 读取偏移量:0字节
  • 读取长度:3字节

我尝试过的:

  • 使用 ISO 命令集:这是一个彻底的失败
  • 使用读取命令中的整数来检查创建它时是否有错误(从 0/1 开始计数)

问题这里出了什么问题?是某种身份验证问题还是我使用的库有误?

最佳答案

我解决了这个问题。

byte[] data = objDESFireEV1.readData(1, 0, 3);

更改为:

byte[] data = objDESFireEV1.readData(1, 0, 3, IDESFireEV1.CommunicationType.Plain,3);

可以吗?

关于mifare - Taplinx : InvalidResponseLengthException: readData on desfire EV1 card,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53428337/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com