【问题标题】:Emulate Mifare EV2 Card with HCE使用 HCE 模拟 Mifare EV2 卡
【发布时间】:2021-09-06 19:58:13
【问题描述】:

所以我遇到的问题如下: 我正在尝试使用 Android 的 HCE 服务在 Android 设备上模拟 EV2 卡。我有一块 PN532 (Adafruit) 板,上面已经安装了固件,它使用 DESfire 本机命令集。因此,永远不会调用 processApduCommand(),因为电话收到的命令不是 APDU 格式 (ISO 7816 - 4)。那么使用 APDU 协议可以实现多少原生 DESfire 命令集呢?我该如何从这里开始?提前谢谢大家。

【问题讨论】:

    标签: android arduino nfc hce pn532


    【解决方案1】:

    您将无法模拟 Mifare DESfire 原生命令集,只能模拟 ISO 7816 - 4 命令和 ISO/IEC 7816-4 封装的原生命令集。

    您需要更改 PN532 (Adafruit) 板发送命令的方式,首先将它们包装在 ISO 7816 - 4 命令中。

    包装示例https://ridrix.wordpress.com/2009/09/19/mifare-desfire-communication-example/

    cls ins          p1 p2 lc [data] le
    90  [native ins] 00 00 lc [data] 00
    
    SW1 SW2
    91  [native status code]
    

    当然,您需要先执行 AID 选择命令来选择您在 HCE 实施中模拟的 AID。

    【讨论】:

    • 这种包装究竟是如何工作的?能举个例子吗?
    • 更新了示例和更详细的链接。
    • 所以如果我理解正确,添加 90 作为 CLA 后跟来自本机命令集的命令代码允许我们包装在 DESfire 本机命令集中找到的所有命令?非常感谢你。
    • 是的,这会创建一个完整的 APDU,然后您的 HCE 服务会获取 APDU(一旦通过 AID 选择进行路由)并可以像 Mifare Desfire 卡一样处理它并正确响应。您还必须解包响应代码,并将它们映射到 PN532 板代码中的本机响应代码。注意我没试过。
    猜你喜欢
    • 2013-07-09
    • 2013-12-02
    • 2014-03-10
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多