Чтение файлов смарт-карт

Я пытаюсь прочитать файлы смарт-карт, после долгого поиска я теперь могу отправить команду APDU для выбора MF (главный файл), но мне нужен доступ к EF (элементарный файл), вот команда, которую я отправляю:

ResponseAPDU r = channel.transmit(new CommandAPDU(new byte[] { 0X00,(byte) 0XA4, 0X00, 0X00, 0X02, 0X3F, 0X00 }));

и вот ответ:

6F 1C 82 01 38 83 02 3F 00 85 02 03 7F 86 0C 7F 7F 7F 7F 41 60 60 7F 7F 7F 60 00 8A 01 05 90 00

я знаю, что получил положительный ответ 90 00 , так что мне делать дальше, чтобы получить доступ к EF.


person Anass Boukalane    schedule 24.03.2014    source источник
comment
Привет, какое устройство вы использовали для чтения файлов смарт-карт?   -  person See Yah Later    schedule 22.04.2015


Ответы (2)


Теперь вам нужно выбрать файл и выбрать его с помощью той же команды. Если вы погуглите ISO7816-4, вы найдете несколько сайтов, описывающих команды чтения двоичных файлов и чтения записей. В зависимости от выбранного типа файла. Однако стандартной команды ISO для вывода DF и EF не существует. Попробуйте для начала EFICCID (2FE2 IIRC), он присутствует в большинстве карт.

person takumar    schedule 25.03.2014
comment
Существует ISO 7816-15, описывающий содержимое карты. Однако это не тот случай, когда каждая карта развертывает структуру, определенную в соответствии со стандартом ISO 7816-15. - person Maarten Bodewes; 31.03.2014

Лучший способ продолжить — получить спецификацию, описывающую логическую структуру данных вашего приложения. Обычно они содержат набор команд, который вы должны использовать для доступа/использования данных приложения.

person ALe    schedule 25.03.2014