Как начать работу с Java-картами? - PullRequest
14 голосов
/ 25 августа 2011

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

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

Ответы [ 5 ]

15 голосов
/ 26 августа 2011
  1. JCOP - это программная платформа, изначально разработанная IBM, которая реализует API Javacard и GlobalPlatform (ранее Open Platform). В настоящее время принадлежит и управляется NXP.
  2. JCOP 2.4.1? Вероятно, ГП 2.1.1. Сделайте поиск в сети для конкретных спецификаций продукта.
  3. Javacard и GP:
    • Javacard используется для написания приложений - апплетов javacard - для платформ смарт-карт с использованием языка программирования Java и ограниченной версии библиотек JVM и java.
    • GlobalPlatform - это спецификация для управления смарт-картами с поддержкой апплетов, определяющая операции для таких вещей, как:
      • управление жизненным циклом карты,
      • аутентификация карты / хоста,
      • установка / удаление / создание экземпляров / выбор апплетов и
      • управление политиками безопасности на карте.
    • Используя GlobalPlatform, вы будете обмениваться APDU с GP-картой для вышеупомянутых операций; используя javacard, вы будете писать апплеты, которые могут принимать и обрабатывать APDU, специфичные для вашего приложения. GlobalPlatform не специфична для javacard, но javacard - единственная соответствующая технология для разработки апплетов смарт-карт.
  4. Для обучающих программ по javacard начните с сайта javacard . Просмотрите раздел документации по Getting Started . Загрузите комплект разработчика, и вы найдете несколько html-инструкций. Для GlobalPlatform вам нужно начать с последней спецификации GP; это, конечно, не учебник, но я не думаю, что вы найдете что-то более полезное. Спецификация потребует сильных основ смарт-карт. Также см. Необходимые вещи для запуска программирования смарт-карт с использованием Javacard
7 голосов
/ 17 декабря 2014

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

2 голосов
/ 07 июля 2014

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

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

2 голосов
/ 26 августа 2011

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

0 голосов
/ 01 апреля 2018

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

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

и этот на JavaWorld,

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

Например, в этом репозитории Github есть раздел с названием Learning ,

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


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

Архитектура апплета

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

Указание AID

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

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

Учебник для начинающих APDU

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

  • Класс Javacard APDU

    Апплет обрабатывает команду APDU, вызывая методы для объекта APDU. Обычно он выполняет следующие действия:

    Шаг 1. Извлечение буфера APDU

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

    Шаг 3. Возвращаемые данные

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

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

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

Эта статья написана Чигуном Ченом , который также написал книгу Технология Java Card для смарт-карт

...