EMV Бесконтактный - GPO с PDOL - PullRequest
0 голосов
/ 22 января 2019

Мне нужно написать метод, который может генерировать опцию GET PROCESSING независимо от PDOL с EMV Contactless.Как мне отформатировать команду GPO с правильными данными?

Это данные:

6F 4E 84 07 A0 00 00 00 03 20 10 A5 43 50 0D 56 49 53 41 20 45 4C45 43 54 52 4F 4E 87 01 01 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 5F 2D 08 69 74 65 6E 64 65 66 72 BF 0C 089F 5A 05 31 09 78 03 80

PDOL: 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04

Что такоеправильная команда GPO APDU?Спасибо.

1 Ответ

0 голосов
/ 22 января 2019

Команда GPO строится следующим образом:

CLA '80'
INS 'A8'
P1 '00'
P2 '00'
Lc var.
Data PDOL Related Data
Le '00'

На основе вашего PDOL вам необходимо предоставить следующие данные:

9F66 (?) 4 bytes
9F02 (amount authorized) 6 bytes
9F03 (amount other) 6 bytes
9F1A (terminal country code) 2 bytes
95 (TVR - Terminal Verification Results) 5 bytes
5F2A (terminal currency code) 2 bytes
9A (transaction date) 3 bytes
9C (transaction type) 1 bytes
9F37 (unpredictable number) 4 bytes

(Вам нужно будет проанализировать PDOL, но вы также можете использовать сетевой декодер TVR для его анализа.)

В основном вам нужно заполнить DOL значениями для запрошенных тегов (в порядке их появления). Например, если вы заполните только сумму, DOL будет выглядеть так:

000000001122334455660000000000000000000000000000000000000000000000

И ваша команда GPO будет:

80A8000023832100000000112233445566000000000000000000000000000000000000000000000000
            ^^

Где шестнадцатеричное значение 21 (то есть 33) - это длина DOL.

Надеюсь, это поможет. Вы можете обратиться к спецификации EMV для более подробной информации. https://www.emvco.com/emv-technologies/contactless/

...