Для моей первой стажировки я должен сделать кое-что потрясающее с европейскими считывателями тахографов.
Вкратце: я должен использовать устройство чтения смарт-карт, чтобы прочитать контактную (не радио-смарт-карту) карту компании ISO 7816, чтобы прочитать уникальный идентификатор этой карты. Ничего больше. Затем я должен отправить этот идентификатор вместе с ответом на сброс куда-то еще, где он обрабатывается, отвечает, а затем некоторые данные говорят вверх и вниз.
Там нет кода, я должен собрать все, включая сервер, где-то в будущем. Сейчас я сосредоточусь на карточной части. Я начал с нуля, и меня попросили использовать для этого C#. Я использую библиотеку PCSC-lite в Linux и уже могу взаимодействовать с картой. Я могу получить коды ответа на сброс и могу сделать некоторые другие вещи со смарт-картой, которые не важны для моего вопроса. Я также прочитал большинство спецификаций ISO 7816. Особенно то, что казалось мне важным. Мой код считывает ответы и проверяет, что такое sw1 и sw2. Так что я могу читать отладочную информацию. Так что я хотел бы думать, что я, по крайней мере, охватил некоторые основы ...
Я единственный в компании, кто может это делать.. Или должен уметь это делать. И я на последнем издыхании.
Может кто-нибудь, у кого есть опыт в этой области. Объясните мне простыми словами:
<сильный>1. Как устроена память на такой карте
<сильный>2. Как получить доступ к памяти
<сильный>3. Какие APDU и в каком порядке их отправлять, чтобы получить уникальный идентификатор карты (или указать мне направление, где я могу найти карту памяти или что-то в этом роде)
Что касается первого вопроса, я конкретно имею в виду: я знаю, что структура данных, похоже, работает с EF, которые мне нужно выбрать, а затем попытаться извлечь данные, используя правильные apdu. Но я не очень понимаю, как это работает или как строится структура памяти. Я читал файлы ISO, но они для меня немного сложны. Может быть, если мне помогут, я лучше их пойму.
Во втором вопросе я конкретно имею в виду: при нормальных обстоятельствах, какие Apdu и в каком порядке я должен их отправлять, чтобы получить доступ к части памяти.
Я уже много читал о переполнении стека по этому вопросу, но не смог найти ответ, который сработал для меня.
Я навсегда буду у вас в долгу, и вы помогли студенту, если вы так любезны ответить на мой вопрос :)
- Оскар