使用安卓 HCE 模拟不同的卡



我想实现一个可以支持某些类型卡的应用程序。我想知道以下事情:

  1. 我可以使用HCE模拟不同类型的卡,例如支付非接触式卡吗?

  2. 我需要什么来实现它?

是否可以使用 HCE 模拟不同类型的卡?

这取决于您要模拟的特定卡类型。Android HCE 可以模拟任何在 ISO/IEC 14443-4 (ISO-DEP( 之上实现 ISO/IEC 7816-4 的智能卡应用,以及将 ISO/IEC 7816-4 中定义的应用选择机制与任何知名 AID 结合使用。

这意味着您可以,例如,模拟

  • 基于非接触式支付系统EMV规范的支付卡,
  • 遵循德国 VDV-KA、ITSO 通用微处理器或 Cipurse 规范的交通票务非接触式卡,
  • 等。

请注意,除了技术实现方面,您可能还需要克服一些组织障碍......

我需要什么来实现它?

从纯技术角度来看,您需要获取、阅读和理解要实现的卡方案的技术规范。然后,您可以实现一个 HostApduService,该说出这些规范中定义的协议,并为规范/读取器系统使用的 AID 注册。您甚至可以在一次 HCE 应用程序中使用多HostApduService组件来模拟不同的智能卡应用程序(只要它们由不同的 AID 寻址(。

从组织的角度来看,肯定不止于此:根据系统的不同,您可能需要获取实施的权限/许可证。您还需要将用户媒体(例如加密密钥等(注册到系统中(通常您不能仅从现有卡中提取它们,这就是首先使用安全智能卡的原因(。

最新更新