И я не наблюдал компонент Descriptor в командах загрузки глобальной платформы для загрузки!Таким образом, возникает вопрос, для чего фактически используется дескриптор и почему апплету не нужно работать на карте?
Компонент Descriptor.cap
предоставляет информацию для анализа и проверки других элементов.в файле CAP.Таким образом, компонент Descriptor.cap необходим для проверки байтового кода (BCV), которая выполняется вне карты и не имеет значения для операций с картой.Он ссылается и указывает на информацию для различных компонентов файла CAP, но ни один компонент (обязательный) не указывает на компонент дескриптора.Таким образом, нет необходимости загружать этот компонент на карту.Следовательно, вы не видите его в Global Platform [Load] commands.
Как определено в спецификации JCVM ниже спецификации 3.0.5.
Компонент дескриптора предоставляет достаточно информации для анализа и проверки всехэлементы файла CAP.Он ссылается и поэтому описывает элементы в компоненте пула констант (6.8 компонент пула констант), компоненте класса (компонент класса 6.9), компоненте метода (компонент метода 6.10) и компоненте статического поля (6.11 компонент статического поля).Ни один компонент в файле CAP не ссылается на компонент дескриптора.
В отличие от спецификации JCVM 3.0.1 и выше, компонент дескриптора не указывается как необязательный.
Они описывают Descriptor.cap
как optional
в порядке установки компонента файла CAP в следующей спецификации JCVM 3.0.5 (раздел 6.3).Хотя это и не та же спецификация, но сложно сказать, почему они упускают упоминание об этом в упомянутой вами спецификации.
https://docs.oracle.com/javacard/3.0.5/JCVMS/JCVMS.pdf