由于ISO 7816-4标准,Android中是否有可以与NFC设备通信的库?我的意思是实现APDU的现成命令不需要手动发送字节?
或者唯一的方法是从APDU发送到我的设备字节?如果是这样,如何构建适当的APDU并找出字段值(CLA, INS等)?
我的意图是进入卡上的目录并从卡上读取文件。
感谢您的知识分享-提前:)
我不知道有标准库(既不适合android也不适合任何其他平台),而且找到一个标准库的可能性很低,因为卡片有如此不同的命令子集和实现的功能。如果不确定最终的APDU是否能正常工作,那么统一库有什么好处呢?因此,大多数解决方案采用中间件,它使用显示受支持特性的描述文件,有时与一些活动代码相结合,以重新格式化命令或通过一系列apdu组合所需的功能。由于这种解决方案的巨大努力,它们中的大多数都是严格面向目的的,比如pkcs# 11。因此,您的解决方案要么针对一个小扇区(存在这样的框架),要么必须自己组合这些字节。看看7816指针的答案,其中第4部分,第8部分和第9部分是最重要的,或者搜索ISO 24727(也是一个多部分标准),它也试图统一来自不同制造商的卡的前端。
您的特定问题的一个问题是,没有标准化的"目录"命令(专有命令经常存在)。虽然有EF。DIR,它只是卡上的应用程序列表(由它们的辅助文件表示),它比文件高一级,因此您还需要应用程序规范。此外,读取可能需要访问权限,因此在此之前需要进行某种身份验证(PIN或挑战响应测试)。