我有一个可编程设备(Galaxy ),它可以充当ISO7816智能卡,我还有另一个可编程设备(Android ),它可以充当卡终端。不需要任何智能卡的功能,因为它应该被使用,我所需要做的就是发送和接收从手机到手表的几个字节。
我有一个工作实现,可以在手表上注册一个AID。电话正在发送一个A4 (选择文件)指令,命令P1=04和P2=00,以及数据字段中已注册的AID。然后,手表会得到一个回调,并且可以用任意数据来响应它。这很好用。
我的问题是:如何扩展它,以便能够向手表发送几个任意字节的自定义信息?我有太多不同的信息对象,以便为每一个信息对象注册一个单独的AID。我可以以某种方式将一些任意字节添加到该A4或任何其他命令中吗?
发布于 2020-08-14 23:03:31
我的答案是基于基于主机的卡仿真概述。
您似乎已经扩展了HostApduService并实现了processCommandApdu()函数,该函数接收在“应用程序”范围内发送的所有APDU(即您希望通过AID访问的内容)。
现在,您必须决定如何用ISO7816来建模和封装“一些任意字节的自定义信息”(参见这里的为阅读ISO 7816提供一个不错的入口点;这里有以下选项
一旦决定了数据组织,就必须启用上面提到的processCommandApdu()来解码各自的APDU,并读取/写入“一些任意字节的自定义信息”。
https://stackoverflow.com/questions/63410324
复制相似问题