其他分享
首页 > 其他分享> > android-基于主机的卡仿真,请问任何指导?

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