Как начать работу с Java-картами?

Я новичок в разработке смарт-карт. Пожалуйста, помогите мне понять, как начать.

  1. Каковы отношения между Java-картой и JCOP?
  2. как сопоставить версию JCOP с GlobalPlatform Спецификация Карты? Например, с какой спецификацией сопоставляется JCOP 2.4.1?
  3. когда мне нужно кодировать один API против другого?
  4. где я могу найти хорошие уроки для начала?

5 ответов


  1. JCOP-это программная платформа от IBM, которая реализует API Javacard и GlobalPlatform (ранее открытая платформа). Теперь принадлежит и управляется NXP.
  2. JCOP 2.4.1? Вероятно, GP 2.1.1. Сделать поиск в интернете для конкретных продукции.
  3. javacard и GP:
    • Javacard используется для написания приложений-апплетов javacard - для платформ смарт-карт, используя язык программирования Java и ограниченную версию JVM и java библиотеки.
    • GlobalPlatform-это спецификация для управления смарт-картами с апплетами, определяющая операции для таких вещей, как:
      • управление жизненным циклом карты,
      • проверки подлинности карты/узла,
      • установка/удаление/создание / выбор апплетов и
      • управление политиками безопасности на карточке.
    • используя GlobalPlatform, вы обменяете APDUs с картой GP для вышеупомянутых операций; используя javacard вы будете писать апплеты, которые могут принимать и обрабатывать APDUs, специфичные для вашего приложения. GlobalPlatform не javacard специфический, но javacard является единственной соответствующей технологией для разработки апплетов смарт-карт.
  4. для учебников javacard начните с сайт javacard. Просмотрите раздел документации для Начало Работы вещи. Скачать dev kit, и вы найдете некоторые HTML howtos. Для GlobalPlatform, вам нужно будет начать с последней спецификации GP; это, конечно, не учебник, но я не думаю, что вы найдете что-то более полезное. Спецификация потребует сильных основ smartcard. Также смотрите необходимые вещи для запуска программирования смарт-карт с помощью Javacard

Я использовал этот отличный учебник при запуске с JavaCard:http://javacard.vetilles.com/tutorial/


jcManager http://www.brokenmill.com/2010/03/java-secure-card-manager/ поставляется с исходным кодом, который пригодится


Это может быть полезно - я провел некоторое время, получая старые учебники, работающие на реальном оборудовании (например, физические Java-карты с GP), включая отправку APDUs и т. д. Я собрал некоторые из моих заметок в видео-формате, как это было слишком много работы, чтобы записать каждую мелочь.

видео здесь:https://www.youtube.com/watch?v=oj2l0X8D4y0&hd=1 и включает в себя в основном быстрый прогон того, что нужно установить, создание программы, установку на Java-карту и разговор с указанная программа через Python. Это очень, очень просто, но иногда это то, что вам нужно...


два лучших вводных уроки Я нашел:

  1. "Лекция 14 - Javacard" https://edux.pjwstk.edu.pl/mat/268/lec/lect14/lecture14.html

и этот на JavaWorld,

  1. Как написать апплет Java Card: руководство разработчика

например, код есть раздел под названием обучение в этом РЕПО Github,

javacard-куратор-список апплетов


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

создание апплета

указание функций апплета

С Указанием СПИДа

определение структуры и метода класса функции апплета

определение интерфейса между апплетом и приложением терминала

праймер APDU

  • определение команд APDU

  • класс Javacard APDU

    апплет обрабатывает команду APDU, вызывая методы на объекте APDU. В общем, он выполняет следующие шаги:

    Шаг 1. Получить буфер APDU

    Шаг 2. Получить данные

    Шаг 3. Вернуть данные

    Шаг 4. Вернуть статус слово

построение кода апплета

реализация проверки ошибок

эта статья Zhiqun Чэнь кто и писал книги технология Java Card для смарт-карты