Невозможно прочитать информацию с карты Contact VISA с помощью команд APDU

Я использую 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)


c emv
person Chris N. Tyler    schedule 17.11.2015    source источник
comment
Попробовать другую карту? Убедитесь, что это действующая карта, просто для уверенности.   -  person Paul Ogilvie    schedule 17.11.2015
comment
@PaulOgilvie Я пробовал около 5 разных дебетовых карт, и все они возвращают одинаковые результаты, когда я вставляю карту в POS-терминал.   -  person Chris N. Tyler    schedule 17.11.2015


Ответы (1)


I am using the Telpo TPS300 POS terminal to try and read information from a VISA bank Card

Как вы сказали, вы пытались с пустой картой, здесь информация с карты верна.

когда вы отправляете команду выбора, например, 00 A4 04 00 00 , она выбирает ISD - Домен безопасности издателя и возвращает ISD AID, т.е. A0 00 00 00 03 00 00 00 с тегом 9F 65 > это означает -Максимальная длина поля данных в командном сообщении

Recv - 6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 01 FF

то, что вы получаете, показывает AID ISD и значение тега 9F65. кажется правильным.

my returned data seems to be lacking one of the mandatory tag 88 as specified in EMV Specification 11.3.4

Тег 88 -SFI элементарного файла каталога выходит из карты, когда вы выбираете каталог PSE с помощью команды,

00 A4 04 00 0E 315041592E5359532E4444463031 (select PSE command)

это даст вам тег 88, если на карте установлен PSE.

I tried READ RECORD, VERIFY, GET PROCESSING OPTIONS, GET CHALLENGE and they all return the SW 6D 00 (Instruction code not supported or invalid).

для чтения карты emv, приложение EMV должно быть установлено и персонализировано в карте, тогда только вы можете получить информацию с карты с помощью последовательности команд. попробуйте- как читать карту emv это дает основную идею для чтения карты emv с помощью последовательности команд.

надеюсь вам поможет..

person Arjun    schedule 17.11.2015
comment
Эй, @Arjun, спасибо за подробный ответ. Это помогло. Я получил карту от другого с установленным приложением EMV, и я смог получить результат. Ссылка тоже оказалась полезной. - person Chris N. Tyler; 17.11.2015