我想创建基于Android Kitkat 4.4的NFC支付应用程序,它现在支持NFC卡仿真模式,不涉及安全元素和涉及安全元素。
我想让我的应用程序涉及一个安全的元素。所以,我有一个问题。 Android KitKat可以让我的应用程序访问安装在安全元素中的Java卡小程序吗?
答案 0 :(得分:1)
如果安全元素是指SIM卡或手机中的专用芯片,答案是否定的:Android仍然不包含访问安全元素的API。 钱包等应用使用以下两种方法之一:
两种API通常都遵循SIM联盟的“开放移动API”,http://www.simalliance.org/en/about/workgroups/open_mobile_api_working_group/
答案 1 :(得分:0)
不,虽然Android HCE文档列出了使用基于安全元素的卡仿真的可能性,但是在当前设备中阻碍使用安全元素存在一些问题:
Nexus设备具有专用API,仅用于访问嵌入式安全元件(似乎没有用于访问基于UICC / SIM卡的安全元件的API)。但是,较新的Nexus设备似乎不再包含嵌入式SE。此外,只有Google(以及可能销售这些设备的移动网络运营商)才能使用这些权限来访问SE API。 (否则,您需要root权限才能将应用程序证书添加到允许的应用程序列表中。)
Nexus设备似乎根本不启用UICC进行卡仿真。因此,即使您注册了脱离主机卡仿真的应用程序,也不能在此类设备上使用UICC。
许多其他(非Nexus设备)提供基于Open Mobile API的安全元素API(通常是SEEK-for-Android实现或基于它的东西)。这些设备似乎主要使用该API来访问基于UICC / SIM卡的安全元件。 (没有关于与Android 4.4的脱离主机卡仿真服务注册交互的信息。)
您需要访问安全元素(即您需要知道在SE上安装/管理应用程序的密钥)。除非您与设备制造商(针对嵌入式安全元件)或移动网络运营商(针对基于UICC / SIM卡的安全元件)进行良好合作,否则这通常是您无法获得的。