Что такое максимальный и минимальный размер апплета в java-карте

Я работаю над java-картой и хочу знать:

  1. каков максимальный и минимальный размер апплета в java-карте и от какого параметра он зависит?
  2. Сколько апплетов мы можем установить на смарт-карту?

Я использую:

  • тип смарт-карты = контактная карта
  • используя java-карту 2.2.2 с jcop, используя apdu

person Sachin D    schedule 25.12.2011    source источник


Ответы (3)


Официальных ограничений по размеру нет (помимо тех, что уже опубликовал Роберт). Карты могут иметь свои лимиты в зависимости от доступной памяти, но фиксированного значения для этого нет; зависит от того, что уже установлено, как их виртуальная машина работает внутри и так далее.

person foo    schedule 19.01.2012
comment
если размер смарт-карты 32 КБ, то максимальный размер апплета 32 КБ, это правда? - person Sachin D; 20.01.2012
comment
Почти наверняка, но обычно меньше из-за накладных расходов на виртуальную машину, ОС, библиотеку. Обратите внимание, что некоторые карты могут даже выравнивать данные по-разному, поэтому ваш апплет также может занимать больше или меньше байтов. Спросите NXP! - person Maarten Bodewes; 30.01.2012

Я не знаю конкретного ограничения на размер апплета, однако есть другие ограничения, влияющие на максимальный размер:

В соответствии со спецификацией виртуальной машины Java Card 2.2 ограничения следующие:

Ссылки на пакеты. Пакет может ссылаться не более чем на 128 других пакетов.

Имя пакета. Полное имя пакета может содержать не более 255 символов. Размер имени пакета дополнительно ограничивается, если оно содержит один или несколько символов, которые при представлении в формате UTF-8 требуют нескольких байтов.

Классы в пакете. Пакет может содержать не более 255 классов и интерфейсов.

Интерфейсы. Класс может реализовать не более 15 интерфейсов, включая интерфейсы, реализованные суперклассами. Интерфейс может наследовать не более 14 суперинтерфейсов.

Статические поля. Класс в пакете апплета может иметь не более 256 общедоступных или защищенных статических неконечных полей. Класс в библиотечном пакете может иметь не более 255 общедоступных или защищенных статических неконечных полей. Количество статических конечных полей (констант), объявленных в классе, не ограничено.

Статические методы. Класс в пакете апплета может иметь не более 256 общедоступных или защищенных статических методов. Класс в пакете библиотеки может иметь не более 255 общедоступных или защищенных статических методов.

Методы. Класс может реализовать не более 128 общедоступных или защищенных методов экземпляра и не более 128 методов экземпляра с видимостью пакета. Эти ограничения включают унаследованные методы.

Экземпляры класса. Экземпляры класса могут содержать не более 255 полей, при этом тип данных int считается занимающим два поля.

Массивы. Массивы могут содержать не более 32 767 полей.

person Robert    schedule 25.12.2011

Не существует спецификации, в которой упоминается максимальный размер апплета. Все зависит от ОС, так что да, вам обязательно нужно спросить у NXP.

person Ishwar Chandra    schedule 04.10.2018