Как можно подписать транзакцию на бесконтактной карте EMV? - PullRequest
0 голосов
/ 14 декабря 2018

Я прочитал здесь , что карты EVM подпишут некоторые данные транзакции.

Я хотел бы сделать это с моей картой, используя свой телефон, и убедиться, что подпись на результатеправильно.

Для начала я выполнил эту команду («запрос APDU»):

00: A4: 04: 00: 0E: 32: 50: 41: 59: 2E: 53: 59: 53: 2E: 44: 44: 46: 30: 31: 00

Один из «идентификаторов приложения» был следующим:

A00000038410

Итак, я выполнил эту команду («Выбор платежного приложения»):

00: A4: 04: 00: 07: A0: 00: 00: 00: 03: 10: 10: 00

и он вернул этот «Список объектов данных параметров обработки (PDOL)»:

9F66049F02069F37045F2A02

Iпрочитайте здесь как это декодировать, потому что я нигде не смог найти официальную спецификацию:

  • 9F6604 - тег 9f 66 представляет квалификаторы транзакций терминала
  • 9F0206 - тег 9f 02 обозначает разрешенную сумму.В список PDOL должно быть добавлено разрешенное количество, закодированное в 6-байтовые байты.
  • 9F3704 - тег 9f 37 обозначает непредсказуемый номер, поэтому закодируйте такой номер в 4 байта и добавьте его в список

и здесь как расшифровать это:

  • 5F2A02 - код валюты TX

Я понимаю, что следующий шаг - запустить «Get Processing Options», но я застрял здесь.Я пытался:

  • 80: A8: 00: 00: 02: 83: 00: 00
  • 80: A8: 00: 00: 12: 83: 10:01: 02: 03: 04: 05: 06: 07: 08: 01: 02: 03: 04: 05: 06: 07: 08: 00
  • 80: A8: 00: 00: 12: 83: 10: F3: 20: 40: 00: 00: 00: 00: 01: 00: 00: 04: 04: 06: 03: 05: 08: 00
  • 80: A8: 00: 00:02: 83: 10: F3: 20: 40: 00: 00: 00: 00: 01: 00: 00: 04: 04: 06: 03: 05: 08: 00

Все вернули результат 6D: 00 (код инструкции не запрограммирован или недействителен).

Я попытался просмотреть «emv book 3» и «emv book 4», но ни одна из них не содержит соответствующей информации.

Что мне нужно сделать дальше, чтобы совершить транзакцию, подписать и проверить результат?

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Если PDOL найден в ответ на выбор приложения, здесь вам нужно передать значение тегов PDOL в команде GPO,

может найти очень хорошую статью Здесь .надеюсь, это поможет.

enter image description here

0 голосов
/ 14 декабря 2018

Ваши команды GPO должны предоставить значения PDOL, запрошенные картой.Запрашиваемые теги:

9F66 - 4 bytes
9F02 - 6 bytes
9F37 - 4 bytes
5F2A - 2 bytes

Таким образом, команды должны предоставлять их в том же порядке с ожидаемой длиной.

Предполагая, что вы хотите отправить следующие значения выборки:

9F66: 11223344
9F02: 112233445566
9F37: 11223344
5F2A: 1122

Ваша команда GPO будет выглядеть следующим образом:

80A800001283101122334411223344556611223344112200

Где данные PDOL 11223344112233445566112233441122.

Надеюсь, это поможет

...