当读者使用 HCE 通过 NFC 模拟支付应用程序发起交易时,我有几个问题
那么阅读器选择AID后,主 Controller 指向正确的HCE服务?
请纠正我对上述概念的理解。
最佳答案
EMV 支付卡终端无法区分塑料卡、基于安全元件的卡或 HCE 模拟卡。在所有情况下,它将使用相同的协议(protocol)。实际上“协议(protocol) s ”,因为 EMV 有几种不同的内核变体,它们与卡应用程序(略)不同的协议(protocol)。但这种差异是基于应用程序变体和品牌(例如 MasterCard EMV、MasterCard MagStripe、Visa 等)而不是外形/“智能卡”硬件。
因此,非接触式 EMV 读卡器将为任何类型的卡(塑料、SE、HCE 等)选择 PPSE 以检测实际支付应用程序。
Android 不会解释 PPSE 选择命令,因此不会生成或发送可用支付应用程序的列表。请注意,用户通过设置 UI 选择 HCE 支付应用程序,并且一次只能激活/访问一个支付应用程序。
由应用程序来处理 PPSE。因此,通常情况下,基于 EMV 标准的 HCE 支付应用程序会同时注册支付应用程序 AID 和 PPSE DF 名称。请注意,从协议(protocol)的角度来看,DF 名称和 AID 之间没有区别,因此您可以在主机 APDU 服务 XML 文件中注册它,并在其文件中为 DF 名称(“2PAY.SYS.DDF01”)设置一个 AID 过滤器。 ASCII 十六进制表示 325041592E5359532E4444463031
:
<aid-filter android:name="325041592E5359532E4444463031" />
因此,您的主机 APDU 服务将需要处理 PPSE 选择命令,并以一个 FCI 响应它,该 FCI 在其可自由支配的数据模板中包含 EMV 支付应用程序的列表。
关于android - NFC Controller 和 POS 阅读器之间的初始握手,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26208056/