Я использую POS-терминал Telpo TPS300, чтобы попытаться прочитать информацию с банковской карты VISA. Терминал поставляется с библиотеками C, поэтому отправлять команды намного проще. Однако, когда я запускаю команду SELECT APDU (00 A4 04 00) Lc = 0, она возвращает следующие шестнадцатеричные данные длиной 18 байт, как показано ниже 6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 01 FF. Я прочитал спецификацию ISO 7816-4 и спецификацию EMV, и, судя по всему, в моих возвращаемых данных отсутствует один из обязательных тегов 88, как указано в спецификации EMV 11.3.4. Когда я пытаюсь ВЫБРАТЬ возвращаемое имя DF, т.е. один с тегом 84 (A0 00 00 00 03 00 00 00) возвращает ту же информацию. Все остальные команды также не увенчались успехом, в частности, я пробовал ПРОЧИТАТЬ ЗАПИСЬ, ПРОВЕРИТЬ, ПОЛУЧИТЬ ОПЦИИ ОБРАБОТКИ, ПОЛУЧИТЬ ЗАДАЧУ, и все они возвращают SW 6D 00 (код инструкции не поддерживается или недействителен). Я просто хочу получить информацию о пользователе с карты и выполнить автономную аутентификацию ПИН-кода с помощью команды проверки.
Я посмотрел в Интернете, но никто, кажется, не отвечает мне. Я снова и снова читал стандарт ISO 7816-4 и спецификацию EMV о командах и взаимодействиях с ответами, но пока не повезло, потому что я не могу выйти за рамки этого шага (ответ на команду SELECT)