1

Mifare DESFire 通信在多个 Android 设备上被路由到 HCE 而不是脱离主机 (UICC)。

从基于 OMAPI 的与脱离主机安全元素的通信中,我已经学会了如何将 AID 添加到 Android 脱离主机路由表,以便我可以在 UICC 上选择它们。(感谢@MichaelRoland)

我目前的问题:我的 UICC 上有一张虚拟的 Mifare DESfire 卡。现在有些设备不会将我的原生封装 Mifare 命令路由到 UICC,而且我仍然没有更改默认路由的开关。所以我想在我的主机外路由表中有另一个条目,但我不知道要使用哪个 AID。

我们的 MIFARE DESFire 测试应用程序有一个 PICC 应用程序 AID F01010。这是用于在 CLT 界面上选择应用程序的 AID,但不能将其输入到 Android 离主机路由表中。此外,我们还有两个与 MIFARE DESFire 应用程序相关的附加 AID。这是虚拟卡管理器 AID ( A0000003964D344D1400000000000000) 和服务管理器 AID ( A0000003964D344D2400000000000000)。

但是我必须将哪个 AID 插入到路由表中?

4

2 回答 2

2

Android(可能还有 NFC 控制器本身)目前仅支持基于 ISO/IEC 7816-4 AID/DF 名称的路由配置。您不能为本地 DESFire AID(即那些 3 字节的 AID)添加路由,也不能为所有本地封装的通信添加路由。

你可以做什么:

  • 在应用程序创建期间为您的 DESFire 应用程序分配一个 ISO/IEC 716-4 DF 名称。此 DF 名称是一个 AID,可以在 Android 脱离主机路由配置中指定。但是,您需要使用 DESFire ISO 命令集(并专门发出 SELECT FILE(按 DF 名称)命令来选择您的 DESFire 应用程序)来触发基于 AID 的路由。

  • DESFire EV1 本身具有 AID/DF 名称D2 76 00 00 85 01 00。如果您的阅读器选择此 AID(使用 SELECT FILE(按 DF 名称)命令),DESFire 卡将切换到 ISO 框架(允许 ISO 命令和包装的本机命令)并选择其主文件。您可以在 Android 上注册此 AID,以将所有 DESFire 通信路由到 UICC。但是,每个阅读器都需要通过发送 SELECT FILE 命令来启动 DESFire 通信。

于 2016-08-25T06:49:58.573 回答
-1

如果您想以广泛的方式部署您的应用程序以使使用相同 AID 的应用程序之间没有冲突,您必须遵循 ISO7816-5链接。第二种方法是使用始终以 0x0F 开头的专有非注册 AID。

示例:0x0F、0x11、0x22、0x33、0x44

于 2016-07-07T08:30:20.780 回答