与NFC设备通信 - 安卓设备 - ISO 7816-4

问题描述:

由于ISO 7816-4标准,Android中是否有可以与NFC设备通信的库?我的意思是实现APDU的ready命令,并且不需要手动发送字节?与NFC设备通信 - 安卓设备 - ISO 7816-4

或者唯一的方法是从APDU发送我的设备字节?如果是这样,如何构建适当的APDU并计算字段值(CLA,INS等)?

我的意图是进入卡片上的目录并从卡片上读取文件。

感谢您分享知识 - 提前:)

我不知道一个标准库(既不为Android或任何其他plattform),并找到一个低概率,因为卡有如此不同指令和功能的子集实现。一个统一的图书馆有什么好处,如果没有把握,那么产生的APDU会起作用?因此,大多数解决方案都采用中间件,该中间件使用显示支持功能的描述文件,有时与某些活动代码结合重新格式化命令或通过一系列APDU组合所需功能。由于这种解决方案付出了巨大的努力,其中大部分都是严格目的导向的,如PKCS#11。因此,无论您的解决方案是针对一个存在这种框架的小型部门,还是您必须自己组合这些字节。看看this answer的7816指针,其中第4部分,第8部分和第9部分是最重要的,或者搜索ISO 24727(也是一个多部分标准),它也试图通过来自不同制造商的卡的统一前端。

您的具体问题有一个问题,那就是没有标准的“目录”命令(经常存在专有命令)。虽然存在EF.DIR,但它只是卡上的应用程序列表(由其AID表示),它是文件上的一个级别,因此您还需要应用程序规范。另外阅读可能需要访问权限,因此之前需要某种认证(PIN或挑战 - 响应测试)。