我想实现一个可以支持某些类型卡的应用程序。我想知道以下事项:
我可以使用HCE模拟不同类型的卡,例如付款非接触式卡吗?
我需要实施什么?
答案 0 :(得分:5)
这取决于您要模拟的特定卡片类型。 Android HCE可以模拟在ISO / IEC 14443-4(ISO-DEP)之上实现ISO / IEC 7816-4的任何智能卡应用程序,并使用ISO / IEC 7816-4中定义的应用程序选择机制和任何众所周知的AID
这意味着您可以,例如,模拟
请注意,除了技术实施方面,可能(将会!)也是您需要克服的一些组织障碍......
从纯技术角度来看,您需要获取,阅读和理解要实施的卡方案的技术规范。然后,您可以实现一个HostApduService
,该{{3}}代表那些规范中定义的协议,并且是为规范/读取器系统使用的AID注册的。您甚至可以在一次HCE应用程序中使用mutile HostApduService
组件来模拟不同的智能卡应用程序(只要它们由不同的AID处理)。
从组织的角度来看,肯定不止于此:根据系统的不同,您可能需要获得实施的权限/许可。您还需要将您的用户媒体(例如加密密钥等)注册到系统中(通常您不能仅从现有卡中提取它们,这就是首先使用安全智能卡的原因。)