【问题标题】:What is Max and Min size of Applet in java cardjava卡中Applet的最大和最小尺寸是多少
【发布时间】:2018-10-04 12:30:07
【问题描述】:

我正在研究java卡,我想知道:

  1. Java 卡中小程序的最大和最小大小是多少,取决于哪个参数?
  2. 我们可以在智能卡上安装多少个小程序?

我正在使用:

  • 智能卡类型 = 联系人卡
  • 使用 java 卡 2.2.2 和 jcop 使用 apdu

【问题讨论】:

    标签: java applet smartcard javacard apdu


    【解决方案1】:

    我不知道小程序大小的具体限制,但是还有其他限制会影响最大大小:

    根据 Java Card 2.2 虚拟机规范,限制如下:

    包参考: 一个包最多可以引用 128 个其他包。

    包名: 包的完全限定名称最多可以包含 255 个字符。 如果包名称包含一个或多个字符,则它的大小会受到进一步限制, 当以 UTF-8 格式表示时,需要多个字节。

    包中的类: 一个包最多可以包含 255 个类和接口。

    接口: 一个类最多可以实现 15 个接口,包括由 超类。一个接口最多可以继承 14 个超接口。

    静态字段: applet 包中的一个类最多可以有 256 个 public 或 protected static non-final 字段。库包中的一个类最多可以有 255 个公共或受保护的静态 非最终字段。静态最终字段(常量)的数量没有限制 在类中声明。

    静态方法: Applet 包中的一个类最多可以有 256 个公共或受保护的静态方法。 库包中的一个类最多可以有 255 个公共或受保护的静态方法。

    方法: 一个类最多可以实现 128 个公共或受保护的实例方法,以及最多 128 个具有包可见性的实例方法。这些限制包括继承的方法。

    类实例: 类实例最多可以包含 255 个字段,其中一个 int 数据类型算作占用两个字段。

    数组: 数组最多可以容纳 32767 个字段。

    【讨论】:

      【解决方案2】:

      没有官方的大小限制(高于罗伯特已经发布的限制)。卡可能有自己的限制,具体取决于可用内存 - 但没有固定值;取决于已安装的内容、他们的 VM 在内部如何工作等等。

      【讨论】:

      • 如果智能卡大小为 32kb,那么小程序的最大大小为 32kb,这是真的吗?
      • 几乎可以肯定——但通常会因为 VM、操作系统、库开销而减少。请注意,有些卡甚至可能以不同方式对齐数据,因此您的小程序也可能占用更多或更少的字节。询问恩智浦!
      【解决方案3】:

      没有提及小程序的最大大小的规范。这一切都取决于操作系统,所以是的,你一定要问恩智浦。

      【讨论】:

        猜你喜欢
        • 2015-01-22
        • 1970-01-01
        • 2012-01-24
        • 2011-07-25
        • 1970-01-01
        • 2011-02-05
        • 2012-09-30
        • 2011-10-12
        • 2013-04-13
        相关资源
        最近更新 更多