Считать большой двоичный файл (>32 КБ) со смарт-карты с помощью команды READ BINARY Command APDU
Я хочу прочитать файл со смарт-карты, размер которой превышает 32 КБ. Я знаю, что APDU команды READ BINARY может иметь смещение в P1 и P2 до 32767. Но что, если мой файл больше? Есть ли способ, которым я могу прочитать весь файл? Спасибо!
1 ответ
Более новые версии ISO 7816, часть 4, предлагают нечетный вариант INStruction (т. Е. INS=0xB1), где необходимо указать смещение DO (тег 0x54) в поле данных команды. К счастью, длина этого DO является переменной, поэтому можно указать действительно большие смещения. Команды нечетных команд по-прежнему имеют экзотический характер: их не требует строгая спецификация, но, несомненно, карта, поддерживающая большие файлы, также, вероятно, будет поддерживать этот вариант команд.
Единственный запасной вариант, о котором я знаю, - это указание 0x7FFF в качестве начального смещения и настолько большого LE (расширенной длины), насколько позволяет карта, но этого может быть недостаточно для значительно больших файлов.