我如何使javacard的胃口,这是不可能是多实例



我想创建一个javacard applet,它不能同时安装多次。这意味着如果我实例化applet一次,就不可能安装该applet的另一个实例。但是,如果我删除了第一个实例,应该可以重新安装它。

如果包的AID总是相同,安装应该在加载过程中自动失败。

如果包和实例辅助使用一些模式,比如最后一个递增的数字,你可以使用JCSystem.lookupAID并尝试遍历可能的辅助,如果找到另一个实例则失败。

如果你考虑到辅助工具是灵活的,那么你在标准智能卡上就不走运了,你需要的是一种对所有小程序都唯一的全局数据。当使用UICC时,例如,你可以在文件系统中创建一个文件,如果你的applet是MNO安全域的一部分,你可以检查这个文件是否存在。

也许您还可以保护安装过程,例如通过使用个性化进程。安装之后,个性化服务器必须批准applet。applet可以使用一些随机的令牌,如果个性化服务器不知道这一点,applet将永远不会解锁一些使其有用的功能。这种方法应该总是有效的。

最新更新