在Android HCE(主机卡模拟)中编写一个仿真卡。

4
由于 HCE 是在版本 4.4 中实施的,所以我找不到如何在模拟卡中编写信息的相关资料。
Android 网站提供了关于卡片模拟和读取的示例,但我无法找到有关在模拟卡中编写信息的可能性和方法的相关信息。
我正在开发一个应用程序,将读取一个模拟卡,修改该卡并将其再次写入。
请问是否有人知道这是否可行以及如何实现?

有没有一些入门项目可以展示如何做到这一点? - justdan0227
2个回答

8
问题“如何在模拟卡中写入Android HCE?”并不完全符合Android HCE的概念。
使用Android HCE时,您不会模拟存储卡,因此默认情况下不存在将数据写入/从模拟卡中读取的操作。相反,您需要模拟基于APDU的智能卡应用程序(注意:是应用程序,而不是存储区域或整张卡片)。APDU是可以发送到卡上的命令(例如使用符合PC / SC标准的非接触式智能卡读卡器)。这些命令随后由您的模拟智能卡应用程序(即HCE服务)进行解释,并用于生成响应消息。
因此,总结一下,您需要定义命令(基于ISO 7816-4 APDU结构),以便您的应用程序理解,并定义响应消息格式(再次基于ISO 7816-4 APDU结构),以便您的应用程序发送回去。

是的。我创建了基于ISO 7816-4的“协议”来在我的两个应用程序之间交换信息。通信正在工作中。谢谢。 - jluiz20
我也定制了HCE以适配我的NFC EMV卡,我创建了一个NFC适配器来读取卡片,如_nfcAdapter.enableReaderMode。现在我可以读取卡片,但是当我尝试进行交易时,AID为空。 - bhavani

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接