我的代理商刚拿到他们的第一张原型desfire卡,预计将投入生产(50K员工代理)。我正在尝试连接,验证和读取特定文件。因此,当我呈现我的Android设备时,onDESFIRECardDetected被触发。我连接到标签(desfire对象),通过传递我的代理商的主和应用程序密钥并提供appId进行身份验证。我的下一步是尝试读取应用程序中的特定文件。我没有看到任何接受fileId的方法???我看到命令'Read(int iNoOfBytes)',javadoc声明,“iNoOfBytes - 要读取的字节数”,但是从哪里???。但是,当我运行我的应用程序并为参数添加任意值(例如,比如1)时,会抛出异常,说明“找不到文件”。
基本上,如何使用SDK读取Desfire卡应用程序中的特定FileID?
答案 0 :(得分:0)
因此,在最近几天咨询了nxp之后,事实证明这是LITE版本的限制。我被告知此功能将在高级版本中提供,但截至本文时,它不可用。
答案 1 :(得分:0)
是的,你是对的。 Lite版本仅提供对DESFire的有限支持。 DESFire提供的大多数功能都不包含在lite版本中,特别是与安全相关的操作。这可以使用高级SDK中的api来完成:
byte[] readData(int fileNo,
int offset,
int length,
DESFireEV1.CommunicationType comSettings);
或者,您需要阅读MF3ICD81功能规范并从头开始做所有事情。