Карта Java: Как загрузить SIM-апплет на настоящую смарт-карту?

Я разработал апплет Java Card в Eclipse и получил файл cap. Затем я использовал jcManager - Java Secure Card Manager для загрузки этого файла на свои смарт-карты. У меня есть два типа смарт-карт:

  • Контакт, JCOP 2.1 36K
  • Бесконтактный, JCOP 2.1

Мой считыватель смарт-карт: SDI011 Dual Interface Reader.

Также для разработки SIM-апплета я использую Gemalto Developer Suite [3.6]. У этой IDE есть эмулятор GSM, и мой SIM-апплет работает на нем хорошо. Он дает cap, jar, jac, exp.. файлы апплета.

Все в порядке до сих пор, но я хочу загрузить этот файл с крышкой на мою контактную или бесконтактную карту Java [потому что у меня нет SIM-карты для работы], а затем отправлять сообщения APDU для приема и приема.

Возможно ли это? Если да, то как? Как загрузить мой SIM-апплет на реальную смарт-карту не SIM-карта]?

Ответ 1

Возможно, это не сработает, потому что приложение SIM может иметь зависимости от API, которые не присутствуют на картах JCOP (например, ETSI 102 705). Но тогда это стоит попробовать. Убедитесь, что формат файла совместим между инструментами (файл cap не всегда является файлом cap, кстати, реальный файл cap - это zip, некоторые инструменты предпочитают файлы IJC). Попробуйте использовать файл cap из инструмента Gemalto в jcManager. Если он не работает, вы можете попробовать GPShell. Главная задача состоит в том, чтобы иметь ключи к вашей цели, а затем правильный инструмент.

Ответ 2

Загрузка файла .cap приведет к сбою, если в API есть небольшая разница. В файлах классов Java напрямую указывается метод для вызова по имени. Однако на Java-карте конвертер удалит динамическое связывание.

Если вы хотите загрузить на другую платформу, пожалуйста, по крайней мере, запустите сгенерированные файлы .class через конвертер.