Как вывести список файлов на смарт-карту с pyscard

Я должен прочитать файл со смарт-карты. Карта написана цифровым тахографом, который контролирует движение автомобиля. Я мог бы подключиться к считывателю смарт-карт с помощью psycard ( http://pyscard.sourceforge.net/user-guide.html), но тогда я не знаю, как составить список файлов на карте и как их загрузить. Я копал стандарты ISO, и похоже, что мне нужно использовать стандарт ISO/IEC 7816 и выделенные файлы ( http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4_5_basic_organizations.aspx), но я не знаю, как сделать это с pyscard?

Уже есть программы (например, http://en.tachoterminal.net/products/tachoterminal-reader/), которые делают одно и то же, но являются самостоятельными программами. Мне нужно интегрировать эту функциональность в другое программное обеспечение.

Я не знаю, какой протокол использовать. Может кто-нибудь, пожалуйста, помогите мне?

1 ответ

Решение

В этом ответе я предполагаю, что вы ссылаетесь на карту водителя тахографа в соответствии с постановлением ECC № 3821/85. В этом случае вы правы в том, что смарт-карта обменивается данными с помощью APDU ISO/IEC 7816-4 и что она предоставляет файловую структуру на основе ISO/IEC 7816-4.

После того, как вы открыли соединение с картой с помощью Pyscard, вы можете позвонить transmit() метод для этого объекта соединения, чтобы перехватить APDU (также см . блог Людовика Руссо:

connection = reader.createConnection()
connection.connect()
data, sw1, sw2 = connection.transmit(cmd)

Поток связи с картой водителя тахографа будет примерно таким:

  1. ВЫБЕРИТЕ приложение тахографа

    00 A4 04 0C 06 FF544143484F
    

    Для этой команды cmd было бы:

    cmd = [ 0x00, 0xA4, 0x04, 0x0C, 0x06, 0xFF, 0x54, 0x41, 0x43, 0x48, 0x4F ]
    
  2. ВЫБРАТЬ элементарный файл по идентификатору файла (xxxx)

    00 A4 02 0C 02 xxxx
    
  3. ЧИТАЙТЕ BINARY, чтобы получить данные файла (zz байты от смещения xxyy)

    00 B0 xx yy zz
    

Вы можете найти полную спецификацию протокола карты водителя и структур данных как часть нормативного документа ( здесь).

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