android-基于主机的卡仿真,请问任何指导?
作者:互联网
我是该领域的新手,我有Nexus S(CyanogenMod11 = Android Kitkat 4.4.2)
而且我需要使用HCE(基于主机的卡仿真)模式来仿真非接触式卡.
我需要遵循的步骤和技巧方面的任何指导吗?
(-我是否需要对模拟的安全元素进行编程?将其放到云中?)
附注:我还必须使用新的阅读器模式,因为我的应用程序将由另一台支持NfC的Android手机而非NFC阅读器读取.
谢谢.
解决方法:
在CyanogenMod 11之前,CyanogenMod支持其自己的基于主机的卡仿真功能.您可以为android.nfc.tech.IsoPcdA技术注册foreground dispatch,然后可以使用IsoPcdA.transceive()方法模拟智能卡.有关如何使用此API的信息,请参见Nikolay Elenkov的blog post.
但是,浏览CyanogenMod 11 source (specifically tht of the NFC service)似乎已在版本11中删除了此功能,以支持Android 4.4的官方HCE API.
官方的Android 4.4 HCE API允许应用程序在Android服务中模拟非接触式智能卡(ISO 14443-4 ISO 7816-4 APDU).该服务将处理应用程序的所有传入命令APDU并生成适当的响应APDU.有关如何注册此类HCE服务的更多信息,请参见official API user guide;有关如何在HCE服务中处理传入命令APDU的信息,请参见this answer.
不幸的是,该API在使用libnfc-nxp作为低级NFC堆栈的设备上都不可用(请参阅CyanogenMod 11源代码中的routeAid()
和enableRoutingToHost()
的空实现).
综上所述,似乎目前无法在带有CM 11的Nexus S上进行基于主机的卡仿真.
标签:cyanogenmod,android,nfc,contactless-smartcard,hce 来源: https://codeday.me/bug/20191009/1878012.html