【问题标题】:Is that possible for an applet to install another applet or to send APDUs?小程序可以安装另一个小程序或发送 APDU 吗?
【发布时间】:2020-01-26 11:01:21
【问题描述】:

javacard 小程序可以下载并安装另一个小程序吗?

小程序是否可以向另一个小程序发送 APDU(信息)?

如果是这样,任何人都可以引导我找到适当的文件开始吗?

【问题讨论】:

    标签: applet javacard apdu


    【解决方案1】:

    javacard 小程序可以下载并安装另一个小程序吗?

    不,这是不可能的,根本就没有 API。在 Global Platform 的所有示例中(可能比 Java Card 规范更相关),applet 数据是通过 APDU 命令加载的。 Java Card API 中当然有一个Applet.install 方法,但是它被系统调用 并且不能从另一个applet 中使用——据我所知,甚至不是安全域。

    小程序是否可以将 APDU(信息)发送到另一个小程序?

    是的,您可以让一个类实现Shareable 接口并通过getShareableInterfaceObject 方法共享它。所有 Java Card 教程都将包含此内容。

    APDU 缓冲区不能共享,但也不需要,您可以通过APDU 方法简单地访问它。来自 API:

    Java Card 运行时环境将 APDU 对象指定为临时的 Java Card 运行时环境入口点对象(有关详细信息,请参阅运行时环境规范,Java Card 平台,经典版,第 6.2.1 节)。可以从任何小程序上下文访问临时 Java Card 运行时环境入口点对象。对这些临时对象的引用不能存储在类变量或实例变量或数组组件中。

    请阅读教程或购买旧的但仍然有效的Java Card technology for Smart Cards。虽然老了,但核心原理还是完全有效的,其他大部分基础的东西都可以通过学习API来学习。

    【讨论】:

    • 谢谢马丁。你知道我在做什么吗?通过发送由非对称密钥加密的新小程序信息,通过互联网远程更新或安装小程序,该非对称密钥只能在卡内解密并随后使用。我正在为此寻找解决方案。
    • 好吧,如果有任何解决方案应该在全球平台中。不幸的是,这是一个相对复杂的主题,但它有解决方案。不过,由于过去的工作,我认为我不应该提供太多关于它的信息。
    • 我记得读过那本书。谢谢你让我觉得自己很老了@MaartenBodewes...
    • 如果我没记错的话,我们的年龄差不多,所以我有同样的回忆:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多