Как программно загрузить апплету Java Card (файл .cap), используя Visual C ++ / PCSC

StackOverflow https://stackoverflow.com/questions/3779557

  •  04-10-2019
  •  | 
  •  

Вопрос

Я текущим в проекте, который требует от меня загрузить файл Applet приложений Javacard (A.CAP) на Javacard. Наша рамка основана на Visual C ++ и PCSC, поэтому нам нужно загрузить тот же апплет для серии Javacards. Кто-нибудь знает, как это можно обработать? Я имею в виду, где я должен начать. Спасибо!

Это было полезно?

Решение

Вы правы, что это не тривиальная работа.

Существуют различия между различными Javacards, но, как правило, вам нужно сделать 4 вещи:

  • Инициализировать безопасную связь с картой (потому что многие Javacards - это карты «Глобальная платформа», которые им требуется безопасный канал)
  • Отправить команду сказать: «Я хочу установить апплет»
  • Отправьте двоичные данные для установки апплета
  • Отправить команду на «Инструктуальный» апплет после отправки двоичных данных

Я бы порекомендовал использовать плагин Eclipse для первоначального установки апплета, потому что вы можете увидеть APDU, созданный плагином, чтобы выполнить шаги выше. Как только вы узнаете команды APDU, вы должны отправить, чтобы установить апплет, вы можете напрямую отправить эти команды с помощью интерфейса PCSC из вашего C ++ для автоматизации установки на большом количестве карт.

Моя компания делает плагин веб-браузера Карточный босс Для выполнения такого рода вещей (Card Communications через PCSC) из браузера - есть веб-страница, которую вы можете использовать, когда вы можете вводить свой собственный APDU и отправить их на карту на FLOLWING URL:

https://cardboss.cometway.com/content.agent?page_name=Card+Boss+Lab.

Если вы используете наш инструмент, скрипт установки апплета должен выглядеть что-то подобное (обратите внимание, что это скрипт для карты JCOP с использованием клавиш JCOP по умолчанию)

    MESSAGE BOX Installing applets...

    INIT CHANNEL 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f, 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f

    // INSTALL CAP: 
    SEND 80 E6 02 00 1D 10 A0 00 00 00 09 00 03 FF FF FF FF 89 10 71 00 01 08 A0 00 00 00 03 00 00 00 00 00 00 

    // LOADING CAP: 
    SEND 80 E8 00 00 FA C4 82 01 03 01 00 25 DE CA FF (snip, I removed a bunch 
of binary data representing the cap file to shorten this post, and you might
need multiple SEND commands because of limits on the size of APDUS)

    // INSTANTIATING Applet
    SEND 80 E6 0C 00 1E 05 63 6F 6D 65 74 07 63 6F 6D 65 74 00 01 05 00 00 00 00 00 01 00 06 C9 04 68 2C 00 03 00 00 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top