2013-07-08 4 views
0

Iam пытается прочитать файл Events_Data на смарт-карте цифрового тахографа, который задокументирован в EG Nr.1360-2002 (стр. 120). Его размер может варьироваться от 864 до 1728 байт. Теперь я пытаюсь найти точный размер на тестовой карте. Я попытался выполнить шаги, описанные в статье this SO, но команда SELECT для этих карт, похоже, работает только с P2 = 0C (отклик не ожидается). Есть ли другой способ узнать размер этих файлов?Определение размера элементарного файла на смарт-карте

ответ

1

Из моего понимания спецификации:

, но при выборе команды для такого рода карт, кажется, работает только с P2 = 0 ° C (без ответа) ожидается

Я согласен. Page 36 утверждает, что поддерживает стандарты ISO 7816, но страница 105 указано, что Выбор ПБДП файлов ограничены (не могут иметь данные ответа, только SW = 9000 или ошибку)

Его размер может варьироваться от 864 до 1728 байт.

В принципе, имеется 6 карт, каждый из которых состоит из n1 (от 6 до 12) CardEventRecord (24 байта). Поэтому в этом файле содержится от 36 до 72 CardEventRecord.

Я попытался следующие шаги descriped в this SO статье

В этом случае вы можете прочитать первые 864 байт (для ускорения просто отправить 4 ПБДП читать firstt 255 байт, следующие 255 байт, следующие 255 байт и следующие 99 байтов). После этого сделайте цикл, чтобы прочитать остальные байты каждые 24 байта (CardEventRecord), и остановитесь, если вы получите SW 6B00 или 6700.

ПРИМЕЧАНИЕ. Вы также можете сделать чтение блока 255 байтами для всех байтов, а также когда вы получите ошибку 6CXX, повторите чтение APDU, используя короткую длину, обозначенную XX. Это должно быть быстрее, но карта может отправлять SW 6700 вместо 6CXX, что не удобно (зависит от реализации карты).

+0

Спасибо, что ваш ответ мне очень помог. Я пробовал читать 255 байт в APDU. Первые 4 ответных APDU вернули 255 байтов, а пятый - намного меньше (даже думал, что я использовал смещение для 255 байт), а 6-й возвращает код ошибки. Теперь я предполагаю, что могу просто использовать все байты, возвращенные без вычисления фактической длины раньше. – BadKarma

Смежные вопросы