Javacard начинающий - вопросы
Прежде всего, я хочу сообщить вам, что я новичок в отношении javacards. Я нахожусь в стадии исследования написания апплета javacard, и у меня есть несколько вопросов, на удивление, которые не так просто ответить через google-search. Я хочу создать приложение для Android, которое запускает приложение Javacard через NFC. До сих пор я установил соединение с картой с помощью IsoDep.
Допустим, у меня есть кепка. Как мне поставить / установить его на настоящий javacard? (Нужно ли мне устройство для чтения / записи карт с ПК /SC? Какие из них вы предлагаете)
Можно ли поставить / установить cap-файл с помощью моего смартфона (через андроид)?
Есть ли способ (через APDU-команды) получить информацию о том, что на карте? Конкретно: апплеты на карте, память свободна.
Спасибо заранее за ответы.
2 ответа
Стандарт для развертывания файлов cap на картах - GlobalPlatform Card Specification (в настоящее время v2.2.1). Поскольку карты представляют собой очень безопасную среду, вы не можете просто пойти и установить свой код на любую карту. Вам необходимо пройти аутентификацию на карте и, следовательно, иметь ключи от карт, на которые вы ориентируетесь.
Предполагая, что они у вас есть, вы можете посмотреть, как загрузить CAP-файл на Java-карту, чтобы узнать некоторые варианты. Я предлагаю использовать PC/SC ридер.
Как правило, на Android вы должны использовать OpenMobileAPI, который может быть нацелен на SIM-карту (если ваша карта - SIM-карта), поскольку домен безопасности эмитента недоступен по NFC (если вы хотите попробовать это), а IsoDep.Transceive предназначен для отправки APDU другим бесконтактные карты (не ваша симка).
Q1 и Q3: вы можете использовать PyAPDUTool, который может обмениваться данными с картой через устройство чтения, подключенное к ПК, чтобы установить апплет на настоящий javacard, а также узнать, что находится на карте. Вы также можете управлять апплетом или пакетом на карте. через PyAPDUTool.
Q2: Да, если ваш телефон поддерживает NFC.