【问题标题】:Read Record command parameters读取记录命令参数
【发布时间】:2019-11-12 01:17:55
【问题描述】:

我已成功将 PPSE、Select AID 和 GPO 命令发送到我的 EMV 鸟嘌呤卡。现在我确实遇到了读取记录命令的问题,我无法从我得到的 AFL 中找出 SFI (P2)。 当我尝试使用 AFL (94 04 10 02 05 00) 读取记录但仍然出现错误时,我错过了什么。 感谢您的帮助

No.1 发送:00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00 扩展:90 00 [忽略数据] 接收:6F 3A 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 28 BF 0C 25 61 23 4F 07 A0 00 00 00 03 10 10 50 0A 56 69 75062 61 29 7 48 03 9F 0A 08 00 01 05 01 00 00 00 00 90 00 [SW:无错误] 使用时间:54.000 毫秒

No.2 发送:00 A4 04 00 07 A0 00 00 00 03 10 10 00 扩展:90 00 [忽略数据] 接收: 6F 52 84 07 A0 00 00 00 03 10 10 A5 47 50 0A 56 69 73 61 20 44 65 62 69 74 87 01 03 9F 38 18 9F 66 04 9F 02 06 9F 02 06 9F 59 1 F 9A 03 9C 01 9F 37 04 BF 0C 1A 9F 5A 05 31 08 26 08 26 9F 0A 08 00 01 05 01 00 00 00 00 BF 63 04 DF 20 01 80 90 00 [SW:无错误] 使用时间:72.000 毫秒

3 号 发送:80 A8 00 00 23 83 21 60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 扩展:90 00 [忽略数据] 接收: 77 4D 82 02 20 00 94 04 10 02 05 00 57 13 47 51 39 05 86 29 91 07 D2 21 02 21 99 20 00 00 00 00 0F 5F 34 01 00 9F 090 07 0 06 0F 26 08 92 FB E4 3F 5B D5 3D B6 9F 27 01 80 9F 36 02 00 1B 9F 6C 02 2E 00 9F 6E 04 20 70 00 00 90 00 [SW:无错误] 使用时间:121.000 毫秒

【问题讨论】:

    标签: smartcard apdu emv


    【解决方案1】:

    第一个字节的五个最高有效位表示 SFI(在您的情况下为 02),第二个字节是起始记录号(您有 02),第三个字节是最后一个记录号(您有 05)。记住Read Record中的P2不是SFI,还要说明P1是一个记录号。

    所有这些都在 EMV Book 3 的第 10.2 章中得到了很好的描述,VCPS 和 C-3 内核规范都直接引用了该章节。我强烈建议您在询问之前参考文档,尤其是当您询问的不是编程问题时。

    您可能还想考虑构建真实的 PDOL 数据(尽管语法正确,但日期、金额、货币等目前缺失)。

    【讨论】:

    • 感谢您的回答。我尝试使用这些参数 00 B2 02 02 00 发送读取记录命令,但我仍然得到 6A 81 作为 SW1 SW2。我确实相信我在 P1 和 P2 上做错了什么。顺便说一句:我已经检查了你提到的规格,但找不到答案
    • @OsamaLazim 之前写的——记住Read Record中的P2不是SFI,还要说明P1是一个记录号。 P2 上应该有 06。
    猜你喜欢
    • 2017-02-21
    • 1970-01-01
    • 2011-07-06
    • 2013-05-27
    • 2023-04-01
    • 2011-01-22
    • 1970-01-01
    • 2016-01-28
    • 2011-08-30
    相关资源
    最近更新 更多