Как в APDU команде узнать с какой позиции выполнять READ RECORD
Пытаюсь получить PAN из разных карт (МИР, VISA, MASTERCARD). Не могу понять как формировать READ RECORD, так как для каждой карты команда может отличаться.
Вот такая последовательность после получения ATS карты у меня сейчас:
- С помощью команды 2PAY.SYS.DDF01: 00A404000E325041592E5359532E4444463031 получаю AID карты
- Делаю SELECT по полученному AID: 0A0000A4040007A0000000031010
- Выполняю READ RECORD: 00 B2 P1 P2 00.
Для разных карт P1 P2 разные, например:
00 B2 01 0C 00
00 B2 03 14 00
00 B2 02 14 00
00 B2 01 14 00
Как мне заранее определить какие у текущей карты в команде READ RECORD P1 P2 и их начальное и конечное значение?
Примерный ответ на мой же вопрос, у меня сформировался. Но я не уверен что это правильно (и даже если это правильно, у меня все еще проблема с получением GPO или GET DATA):
Правильно ли я понял что: P1 это номер записи, а P2 это некий идентификатор на файл? И для того чтобы нам знать эти P1 и P2 нам нужен список SFI, а SFI в свою очередь получаем при помощи GPO или GET DATA? Если так, то я пробовал делать GPO и GET DATA, н оу меня возникает ошибка 6A 81 на эти действия. Вот команда GPO: 80CA000000 которую я делаю сразу после SELECT