我正在寻找一种方法来解释或描述包,模块和 amp;applet 在 Java 卡中的概念。
只是为了提供更多的信息,从我的理解,结构和 amp;包,模块和 amp;小程序之间的关系。
Package AID
|--> Module AID
|--> Applet AID
在 Java 编程中,
Java 包是一种将 Java 类组织到命名空间中的机制
但是当它进入 Java Card 时,它会类似吗?模块呢?
我还在网上搜索,将是伟大的,如果有人可以帮助!
提前谢谢。
一个 javacard 包,包含多个 Applet,会在 Applet 中创建多个实例。包,Applet 和实例是真实存在的。
实际上,模块和 Applet 是一样的,只是存在形式不同而已。模块是在运行或调试过程中出现的。如下所示:
包 & lt;= = & gt;加载文件
Applet & lt;= = & gt;Moudle
实例 & lt;= = & gt;应用程序
包-提供类和接口的框架,用于构建、通信和使用基于 Java Card 技术的小应用程序。这些类和接口为 Java Card 环境提供了最低要求的功能。如果需要其他功能,例如,为特定市场专门化卡,则需要添加其他框架。
Javacard(以及安装在 javacard 上的 applet)支持特定的 APDU,具体取决于安装的 applet(以及用于安装 applet 的特定 APDU)。javacard 文档是开始了解这一点的最佳场所。
一些智能卡带有预先安装的小应用程序,其具有为生物特征数据保留的空间;例如,“PIV”卡 (和相关联的小应用程序)。
如果您的卡没有预先安装用于存储生物识别数据的小程序,则需要编写并安装一个。
javacard 包也是一种将 java 代码组织到命名空间中的机制。在 javacard 世界中,一个包被映射到一个 CAP 文件上,您可以将其加载到卡上。您的 javacard 包可能包含模块。
模块和标准(非 Applet)类之间的区别在于模块可以被实例化并作为应用程序访问(可以被选择并且 APDU 命令可以被发送到它),而标准类只能被实例化为普通的 java 对象,在你的 javacard 代码中。
当你实例化一个模块时,你也给这个新实例一个 AID(你称之为 Applet AID)。
这是高级答案。有关更多详细信息,您应该阅读 javacard spec。
加载文件的 AID 值是Package AID
,其允许卡管理器识别必须从其安装小应用程序实例的包。
加载文件内的 AID 是Module AID
,其允许卡管理器检索在加载文件中定义的小应用程序的 AID。
applet 实例的 AID 是要安装的Applet or Instance AID
。卡管理器检查此值,因为两个卡上实体在卡的注册表中不能具有相同的 AID 值。如果发生这种情况,命令将中止,卡管理器将恢复所有卡上资源。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(82条)