Модераторы: AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формирование cap файла, использование конвертера converter.jar 
V
    Опции темы
msEvrey
Дата 12.11.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.4.2009

Репутация: нет
Всего: нет



Добрый день.
Столкнулся с проблемой конвертирования cap файлов. 
Раньше использовал eclipse с плагином EclipseJCDE и JCDK - java_card_kit-2_2_2 конвертирование проходит нормально.
Но сейчас мне необходимо использовать JCDK - java_card_kit-2_2_1. 
Насколько я понял EclipseJCDE настроена по умолчанию только на использование JCDK - java_card_kit-2_2_2, и при подключении
другой JCDK выходит ошибка "converter.jar is not compatible."
Решил напрямую использовать класс converter.jar для конвертации. 
Столкнулся со следующей проблемой:
написал ant script для конвретации:
Код

<target name="convert">
       <java classname="com.sun.javacard.converter.Converter" fork="true" failonerror="true" maxmemory="512m">
           <classpath >
               <fileset dir=".">
                      <include name="lib/*.jar"/>
                  </fileset>
           </classpath>
           <arg value="    -out CAP"/>
           <arg value=" -exportpath api221"/> 
           <arg value=" -applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x6:0x1 testAplet.Test testAplet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x6 1.0"/>
       </java>
   </target>
    <property name="ant.project.name" value="convertAplet" />

При запуске скрипта получаю ошибку:
error: invalid AID  -exportpath api221.
На сколько я понял в параметре -exportpath необходимо указывать путь к директории с api_export_files.

Получилось с конвертировать в cap файл при помощи bat файла:
Код

set _CLASSES=%JC_HOME%\lib\apduio.jar;%JC_HOME%\lib\apdutool.jar;%JC_HOME%\lib\jcwde.jar;%JC_HOME%\lib\converter.jar;%JC_HOME%\lib\scriptgen.jar;%JC_HOME%\lib\offcardverifier.jar;%JC_HOME%\lib\api.jar;%JC_HOME%\lib\installer.jar;%JC_HOME%\lib\capdump.jar;%JC_HOME%\samples\classes;%CLASSPATH%;
%JAVA_HOME%\bin\java -classpath %_CLASSES% com.sun.javacard.converter.Converter -out EXP JCA CAP -exportpath . -applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1:0x1 hh.testorg.orgName.TestAplet hh.testorg.orgName 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1 1.0

где %JC_HOME% - это путь к JCDK java_card_kit-2_2_1, %JAVA_HOME% - путь к JDK 1.4.2_14 
при этом файлы api_export_files я скопировал в директорию со своими классами. 
Может кому и пригодится. Буду думать как это все положить в ant script.  



Это сообщение отредактировал(а) msEvrey - 12.11.2009, 13:10
PM MAIL   Вверх
Fieral
Дата 3.5.2010, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 250
Регистрация: 10.12.2007

Репутация: нет
Всего: 1



добрый день
а не могли бы вы по подробнее пояснить что есть что в строке?:

-out EXP JCA CAP -exportpath . -applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1:0x1 hh.testorg.orgName.TestAplet hh.testorg.orgName 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1 1.0

--------------------
Если собака свернулась калачиком, значит будет дождь, а если сидит выпучив глаза, значит у неё запор.
PM MAIL   Вверх
msEvrey
Дата 25.5.2010, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 22.4.2009

Репутация: нет
Всего: нет



Скрипт в ANT беудет выглядеть так:
Код

<property name="AIDAplet" value="0x00:0x00:0x00:0x00:0x60:0x60:0x61:0x61:0x62:0x0"/>
<property name="AIDPackages" value="0x00:0x00:0x00:0x00:0x60:0x60:0x61:0x61:0x62"/>
<property name="apletName" value="com.scard.test.testAplet"/>
<property name="apletPackages" value="com.scard.test"/>

<target name="convert">
       <java classname="com.sun.javacard.converter.Converter" fork="true" failonerror="true" maxmemory="512m">
           <classpath >
               <fileset dir=".">
                      <include name="lib/*.jar"/>
               </fileset>
           </classpath>
           <arg line="-out EXP JCA CAP -exportpath classes -classdir classes -applet ${AIDAplet}  ${apletName} ${apletPackages} ${AIDPackages} 1.0"/>
       </java>
    <copy todir="out">
        <fileset dir="classes/com/scard/test/javacard">
            <include name="*.cap"/>
        </fileset>
    </copy>
</target>


Строка -out EXP JCA CAP -exportpath . -applet 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1:0x1 hh.testorg.orgName.TestAplet hh.testorg.orgName 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1 1.0
содержит:
1. EXP JCA CAP - форматы в которых будет выполнен экспорт 
2. 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1:0x1 - это AID аплета на карточке (это то по чему будет происходить загрузка данного аплета командами APDU)
3. hh.testorg.orgName.TestAplet - имя аплета.
4. hh.testorg.orgName - имя пакета.
5. 0xa0:0x0:0x0:0x0:0x62:0x3:0x1:0xc:0x1 - AID пакета.
6. 1.0 - похоже на версию, но точно не разбирался всегда стоит 1.0
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java Card | Следующая тема »


 




[ Время генерации скрипта: 0.0493 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.