Файл CAP содержит основной класс апплета и все остальные сведения о файле класса при выводе в формате ASCII.

Я использую комплект разработки javacard 3.0.4 для создания файла шапки. Файлы классов создаются с помощью команды 'javac -g -classpath %JC_HOME%\lib\api.jar;%JC_HOME%\lib\installer.jar PATH_TO_THE_JAVA_FILES_OF_THE_PROJECT'.

Я использую конвертер для преобразования файлов классов в файл CAP, предоставив файл конфигурации. Содержимое файла конфигурации:

-out EXP JCA CAP
-classdir PATH_TO_CLASS_FILES
-exportpath PATH_TO_EXPORT_API_FILES
-applet 0xa0:0x00:0x00:0x00:0x62:0x12:0x34 MyWallet.Wallet
MyWallet 0xa0:0x00:0x00:0x00:0x62:0x12:0x34 1.0

Шапка создана успешно. Но когда я вижу формат ascii шапки (используя capdump.bat), я вижу, что он содержит всю информацию о файлах классов апплета, что является проблемой безопасности.

Когда я создаю файл кепки с помощью eclipse (в котором установлен плагин JCOP), файл CAP не содержит никакой информации о файле класса.

Поэтому, пожалуйста, помогите мне избавиться от информации о файле класса в файле CAP при создании с помощью CONVERTER.bat в командной строке.


person user9394646    schedule 12.11.2019    source источник


Ответы (2)


Декомпиляция всегда может иметь место, в конце концов, Java нацелена на JVM, используя подмножество байт-кода Java. Поэтому я бы не стал слишком доверять таким мерам, как сокрытие имени класса/метода.

Однако, если вы не хотите, чтобы такая информация генерировалась, просто удалите параметры EXP, которые необходимы для связи с вашим апплетом, и параметр JCA, который, согласно документации Oracle,

... текстовое представление содержимого файла CAP. Чтобы замаскировать апплет Java Card в смарт-карту, необходимо преобразовать класс апплета и все классы в его пакете в файл JCA. Затем вы указываете файл JCA и файлы JCA для любых других пакетов, которые должны быть включены в маску в качестве входных данных для генератора маски.

Таким образом, вам нужно использовать этот файл только тогда, когда требуется маскирование ПЗУ. Если вы просто хотите загрузить его самостоятельно, файл JCA не требуется.

person Maarten Bodewes    schedule 17.11.2019

Спасибо, Мартин, за объяснение, оно помогло мне понять концепцию маскировки. Моя проблема была решена после настройки задачи ant для создания файла шапки. Информация о файле класса в файле шапки была удалена сборкой ant.

person user9394646    schedule 19.11.2019