我在 C 平台上工作,我想读取卡片的 AFL。如果之前的命令,选择 AID,不给我 PDOL 标签,没关系:我可以毫无问题地阅读 AFL。但是我需要编写一个可以生成 GET PROCESSING OPTION 的方法,而不管 PDOL 是什么。
所以问题是:
SELECT AID Response PDOL:9F 1A 02
所以我必须输入终端国家代码,在我的情况下是意大利:380 所以 GPO 调用是:
80 A0 00 00 04 83 02 03 80 00
Run Code Online (Sandbox Code Playgroud)
但我得到的回应是6D 00:指令代码不受支持或无效
我哪里错了?
我正在 Ingenico Pos(销售点)上编程。
我需要通过芯片读取每张可能卡的 PAN 代码。在我的工作中,我必须只使用 C,而且我没有可以帮助我完成这项无聊任务的例程。这就是我使用的 APDU 步骤:
1) 选择 1PAY.SYS.DDF01
00 A4 0400 0E 315041592E5359532E4444463031
Run Code Online (Sandbox Code Playgroud)
然后00 C0 0000 22 315041592E5359532E4444463031从响应中读取所有数据。完整回复:
6f 20 e 84 31 50 41 59 2e 53 59 53 2e 44 44 46 30 31 a5 e 88 1 1 5f 2d 69 8 74 65 6e 66 72 65 73 90
2) READ RECORD 获取特定的 AID
00 B2 010C 00
Run Code Online (Sandbox Code Playgroud)
完整回复:
70 17 61 15 4f 7 a0 0 0 0 4 30 60 50 …Run Code Online (Sandbox Code Playgroud) 继续:EMV阅读PAN代码
我在C工作,所以我没有Java工具和所有自动解析APDU命令响应的函数.我想阅读所有类型的智能卡.我必须解析GET PROCESSING OPTIONS的响应并获得每张卡的AFL(访问文件定位器).
我有三张卡,有三种不同的情况:
77 12 82 2 38 0 94 c 10 2 4 1 18 1 1 0 20 1 1 0 90 77 12 82 2 39 0 94 c 18 1 1 0 20 1 1 0 28 1 3 1 9080 a 1c 0 8 1 1 0 18 1 2 0 90 案例A)
我有三个不同的AFL: ,,10 2 4 1
所以我送其中SFI为10 >> 3(10是第一AFL的第一个字节)和P2是SFI << 3 | 4这样我得到了我的卡的正确PAN代码.18 1 …