HCE技术支持提供了一个软实现SE的通路,Service实现的方式很多,可以使用文件,使用网络,甚至连接真正的SE。
支持HCE的测试手机:目前可以确定使用了NXP PN547作为CLF的NFC手机已经打通了HCE。市面上可见的目前有Sony Xperia Z2 和 Samsung Galaxy S5。
一份参考资料:http://developer.android.com/guide/topics/connectivity/nfc/hce.html 里面写的非常细致:
1. HCE工作在ISO 7816-4也就是ISO-DEP层面。(想模拟Mifare标签的同学洗洗睡吧)
2.命令的派发是基于系统接管SelectbyName指令,以及HCE服务注册到系统的AID来完成的。HCE的派发高于SE,不支持logic channel,也不支持GP的AID部分匹配。
3.HCE以Android服务的方式启动,通过接口函数响应APDU。可以配置多个AID(AID Group),可以配置类型–支付类或者其它类,该类型用于AID冲突时系统的策略。支付类是通过设置默认应用,而其它类则是UI弹出选择提示。
4.屏幕关闭的状态下HCE不可用,屏幕锁定状态下HCE可以选择支持,也可以选择提示用户解锁再支持。
5.在终端只有HCE没有SE的情况下,ISO 14443-3的非接参数由Android接管,UID使用随机数,请勿使用HCE实现任何基于UID的ID卡。
6.Open Mobile API并不能向访问SE一样访问HCE。
转载请注明:
艾拉无忧 »
HCE:Host-based
Card Emulation基于Android设备的卡片模拟器