如何解决EMV卡+NFC读卡器发送PDOL并获取数据SFI
我尝试从我的 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,0x14,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是错误的?请帮忙!谢谢!
解决方法
此案例适用于 EMVCo C-3 Visa PayWave 内核的非接触式 MSD。 根据 EMVCo C-3 PayWave AFL 标签 0x94 在 GPO 回复中是可选的。
在 GPO 重放中,您已经收到所有必要的数据,包括 AIP、AFL、CSN、Track 2、IAD 和密码值。 IAD 标签 0x9F10 显示第一次生成 AC 后返回的 AAC 密码,即拒绝。 此数据足以继续并完成交易。
您可以使用 0x9F66 TTQ 值来排除 MSD 支持。从实时终端中删除了非接触式 MSD 支持。 强制非接触式 EMV 您可能会获得其他 AFL 值,或者您将再次直接在 GPO 回复中获得所有标签。
您可以在此处找到 PayWave C-3 的 TLV 解析工具 - https://iso8583.info/lib/EMV/C3/TLVs
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。