【发布时间】:2021-06-13 05:26:16
【问题描述】:
我尝试从我的 emv 卡中获取付款数据并使用 arduino + nfc 模块。它工作正常,但我很难获得 SFI。我在VISA卡上测试。我收到卡(答案)的请求,例如:
6F 42 84 07 A0 00 00 00 03 10 10 A5 37 50 0D 56 49 53 41 20 49 4E 46 49 4E 49 54 45 87 01 01 9F 38 0C 9F 66 04 9F 02 06 9F 37 04 5F 2A 02 5F 2D 08 75 6B 72 75 65 6E 64
所以,等着我吧:
9F66 04
9F02 06
9F37 04
5F2A 02
然后我发送:
9F66 (TTQ) - 0xF8, 0x00, 0x40, 0x00
9F02 (Amount) - 0x00, 0x00, 0x00, 0x00, 0x14, 0x00,
9F37 (Rand num) - 0x36, 0xD3, 0xEC, 0x39,
5F2A (currency code) - 0x09, 0x80
我得到了答案(track2 中的数据已更改):
77 66 82 02 00 00 94 04 08 02 02 00 57 13 44 41 11 11 11 11 11 97 D2 99 02 01 17 32 43 14 00 00 0F 5F 34 01 00 9F 10 07 06 01 11 03 80 20 00 9F 26 08 C9 D9 34 2A 7D 58
从这些数据中我得到应用程序文件定位器 (AFL) 和它:
08 02 02 00
我将其解码以发送 apdu 之类的:
0x00, 0xb2, 0x02, 0x0c, 0x00
并得到答案:
70 0A 9F 07 02 C0 80 5F 28 02 08 04 90 00
而且它非常简约,没有任何有用的数据/信息(需要创建字段 55)。我在搜索 AFL 必须有不止一个记录,并且需要让它循环,但我只得到一个。也许TTQ是错误的?请帮忙!谢谢!
【问题讨论】:
-
请添加错过的 APDU 命令以显示完整的 APDU 交换跟踪。