получить параметр обработки дает 0x6984

Я пытаюсь прочитать AFL - локатор файлов приложений на дебетовой карте EMV. для некоторых карт, когда я передаю apdu, например -

0x80, 0xA8, 0x00, 0x00, 0x02, 0x83, 0x00 ,0x00 (with no PDOL )

здесь он дает 0x900, но для некоторых карт он дает 0x6984

Для тех карт, которые дают 0x6984, я пытался отправить apdu как-

0x80, 0xA8, 0x00, 0x00, 0x04, 0x83, 0x02, 0x08,0x26 , 0x00; со значением PDOL, и здесь он работает нормально и выдает AFL по мере необходимости.

согласно стандартам говорит: -

6.5.8.3 Data Field Sent in the Command Message The data field of the command message is a data object coded according to the PDOL provided by the ICC, as defined in section 5.4, and is introduced by the tag '83'. When the data object list is not provided by the ICC, the terminal sets the length field of the template to zero. Otherwise, the length field of the template is the total length of the value fields of the data objects transmitted to the ICC

что я понимаю, так это то, что PDOL сначала предоставляется ICC, а затем мы используем его в команде GPO.

я не понимаю, почему какая-то карта работает хорошо без PDOL, а какая-то нет. и каково значение PDOL в GPO, как я могу получить PDOL от ICC и как мы используем его в команде GPO??


person Arjun    schedule 27.08.2014    source источник
comment
Вы также можете изучить этот вопрос/ответ относительно построения команды GPO и того, как найти PDOL (который обычно в приложениях EMV FCI)   -  person Michael Roland    schedule 27.08.2014


Ответы (1)


Очевидно, что предоставление PDOL через записи — это плохо, потому что, если вы не знаете PDOL, вы не можете отправить APDU GET PROCESSING OPTIONS и, следовательно, не можете получить список доступных записей.

PDOL может присутствовать в данных FCI с тегом «9F38», который сам находится под сконструированным тегом «A5».

Анализируйте PDOL так же, как и любой другой список объектов данных. Как указано в Спецификациях карт с интегральной схемой EMV для платежных систем, книга 3: Спецификация приложений, версия 4.3, ноябрь 2011 г., раздел 5.4:

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

И когда вы отправляете данные, связанные с DOL, в своем APDU GET PROCESSING OPTIONS, вы можете обратиться к той же главе спецификации:

"Чтобы свести к минимуму обработку в ICC, такой список не кодируется TLV, а представляет собой единое сконструированное поле, созданное путем объединения нескольких элементов данных вместе."

person Shuckey    schedule 27.08.2014
comment
Вы имеете в виду, что значение TAG '9f38' указывает, какие данные мы должны отправить с помощью команды GPO. В моем случае мы получаем здесь — 9F 38 03 9F 1A 02. где «9F 1A» указывает код страны терминала, поэтому мы должны отправить двухбайтовые данные с тегом 0x83. я прав? - person Arjun; 29.08.2014