APDUtool создать "Апплет" не удается
Я обычно пишу Java Card Software с JCOP, но в настоящее время я пробую другие структуры разработки, чтобы получить немного больше понимания. Поэтому я использую простой HelloWorld.java, так как я начал с этого на JCOP - http://umer555.wordpress.com/2012/05/17/java-card-hello-world-applet/
Теперь я попытался запустить это на NetBeans с Java Card 3.0 (Classic, поэтому я думаю, что он должен работать так же, как 2.2.2), и он работает как прелесть из коробки.
Следующий шаг для меня - попробовать это с Eclipse и JCDE. Теперь, создав файл cap, я получаю это как первые три строки (которые отвечают 9000 в APDUTool):
powerup;
// Select the installer applet
0x00 0xA4 0x04 0x00 0x09 0xa0 0x00 0x00 0x00 0x62 0x03 0x01 0x08 0x01 0x7F;
0x80 0xB0 0x00 0x00 0x00 0x7F;
В качестве следующего шага я пытаюсь создать мой апплет "HelloWorld" с AID 010203040501
// create HelloWorld applet
0x80 0xB8 0x00 0x00 0x8 0x6 0x01 0x02 0x03 0x04 0x05 0x01 0x00 0x7F;
это возвращается
0x80 0xb8 0x00 0x00 0x08 0x06 0x01 0x02 0x03 0x04 0x05 0x01 0x00 0x7f;
CLA: 80, INS: b8, P1: 00, P2: 00, Lc: 08, 06, 01, 02, 03, 04, 05, 01, 00, Le: 00
, SW1: 64, SW2: 44
и JCWDE сообщает "Исключение из вызванного метода install(): ..."
Из ответа я понял, что апплет каким-то образом не загружен в симулятор, но я не знаю, почему это так!
1 ответ
На карте нет "апплета установщика". Есть апплет менеджера карт, который выполняет все операции cad-системы.
Карт-менеджер AID, известный мне, это:
const
VISA_CARDMANAGER_AID = 'A0000000030000';
MASTERCARD_CARDMANAGER_AID = 'A0000000040000';
GEMPLUS_CARDMANAGER_AID = 'A000000018434D00';
Ваша карта действительно JCOP одна?
Чтобы начать установку апплета, вам нужно сначала выполнить команду Install/Load (CLA=80/84, INS = E6). В вашем случае вы начинаете с 80/84 и B8 по некоторым причинам.
После установки / загрузки вам необходимо выполнить команды LOAD, чтобы загрузить файл cap на карту.
Пожалуйста, обратитесь к документации GlobalPlatform, чтобы узнать больше о командах APDU (поищите в Google документ под названием "GPCardSpec_v2.2.pdf" или загрузите его здесь: http://www.globalplatform.org/specificationscard.asp