Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java Card > Запуск аплета с криптографией на эмуляторе


Автор: kuaw26 4.9.2009, 14:51
Прстой апплет, который персылает туда-сюда пару байт и делает простенькие операции на всех эмуляторах работает на ура.

Но стоит только добавить простейший код, например создающий RSA или DES ключ, то - все аплет не работает.
Проявляется это по разному на разных Java Card Dev Kit-ах.
 На JCK 2.2.1, 2.2.2 и 3.0.1 Classic (cref - эмуляторы) - при выполнении выбора апплета в клиентском коде - выдает что: Instruction not supported.
 На JCK 3.0.1 Connected - ломается на последнем этапе загрузки апплета в эмулятор - создание инстанца (installer: create). Выдает сообщение: Create: null

Уже 2-ой день гуглю и никак не могу понять - хоть один эмулятор поддерживает криптографию?

Кто что может подсказать?

Автор: kuaw26 5.9.2009, 09:19
Вобщем ответ такой: похоже что CREF-эмуляторы не поддерживают криптографию :(
JCWDE - поддерживает, но у него куча ограничений, например, нет состояния между сессиями.

Вобщем я свой аплет запустил на JCWDE-эмуляторе, буду изголяться теперь - тестировать часть функций на CREF, часть на JCWDE.

Автор: kuaw26 7.9.2009, 17:07
Был не прав.
Для JCK 2.2.1, 2.2.2 CREF и JCWDE - поддерживают криптографию, но частично (описано в cJDK_Users_Guide_bin_do.pdf).
Надо было использовать только то, что поддерживается эмулятором.

А вот JCK 3.0.1 Classic CREF - не поддерживает криптографию, это прямо в нем и написано если запустить из командной строки.
---------------------------------------------------------------
D:\Development\SmartCard\JC_KIT_3_0_1_classic\bin>cref.bat
Java Card 3.0.1 C Reference Implementation Simulator
32-bit Address Space implementation - no cryptography support
T=1 / T=CL Dual interface APDU protocol (ISO 7816-4)
Copyright © 2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
---------------------------------------------------------------

С JCK  3.0.1 Connected - непонятно, бросил разбираться, так как моя реальная карта все равно только JCK 2.2.1 совместимая.

Автор: firstone 27.10.2009, 09:51
Приветствую!

Думаю разрабатывать на эмуляторе стоит лишь только тогда, когда карт достать не представляется возможным. Я советую всегда вести разработкu на картах. Единственным минусом этого является низкая скорость загрузкi апплета на карту. Особенно если использовать не-JCOP карты. Но с другой стороны - вам доступно именно то, чем можно пользоваться. Т.е. если вы ведете разработкu для карт u которых нет, скажеm MAC, тo вы не ошибетесь и напишите свой собственный.

Вместе с этим очень удобно иметь под рукой последнюю версию JCOP, чтобы всегда можно было проверить.

ИМХО

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)