Как читать или писать смарт-карты

Я новичок со смарт-картой. У меня есть смарт-карта (поддержка ISO 7816-4), но у меня нет спецификаций и считывателя omnikey. Я использую PCSC острый. Я могу передать только успешно получить инструкцию вызова. Я тоже могу читать ATR. Одна из моих карт ATR - 3B-DB-94-00-80-31-FE-45-00-31-C0-64-20-27-02-00-00-90-00-45. Но не может передать любую другую инструкцию. Ответ, который получает sw1 и sw2, выглядит как "файл не найден", "Неверный параметр" и так далее. Мой вопрос: есть ли какой-нибудь распространенный способ чтения или записи на смарт-карте. И могу ли я читать или писать на смарт-карту, спецификация производителя которой неизвестна.

3 ответа

Попробуй эти апду

Выберите MF APDU:

00 A4 00 00 00

Создать EF APDU(передать двоичный файл с идентификатором файла 0X3F01):

00 E0 00 00 09 62 07 83 02 3F 01 82 01 01

Запись данных APDU (данные - 0102030405):

00 D0 00 00 05

Прочитать 5-байтовые данные:

00 B0 00 00 05

В Интернете есть SDK, специально для dot NET

Здесь http://www.smartcard-api.com/download.shtml

Вы можете скачать полный код по ссылке выше, которая в ответ дает вам значения ATR и UID карты

Я мог читать значения карт, все еще глядя на то, как записывать данные на бесконтактные карты.

В настоящее время большинство смарт-карт соответствует глобальному стандарту платформы, даже внутри страны это может быть не Java-карта.

Таким образом, вам нужно знать ключ для аутентификации карты и использовать какой-либо инструмент на основе глобальной платформы для доступа к карте.

Один вариант инструмента, как:

https://github.com/martinpaljak/GlobalPlatformPro

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

http://www.openscdp.org/scsh3/

По сути, вам нужно знать, какие данные и команды вам нужны для изменения данных, и какой тип аутентификации вам нужно выполнить перед выполнением дальнейшей операции.

Другие вопросы по тегам