EMV阅读PAN代码

问题描述 投票:3回答:1

我需要通过芯片读取每一个可能的卡的PAN代码。在我的工作,我必须只使用C和我没有程序,可以帮助我在这无聊的任务。所以这是步骤APDU,我使用:

1)SELECT 1PAY.SYS.DDF01

00 A4 0400 0E 315041592E5359532E4444463031    

然后从响应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)读记录,以获得特定的AID

00 B2 010C 00 

完全缓解:

70 17 61 15 4f 7 a0 0 0 0 4 30 60 50 7 4d 41 53 54 52 45 4f 87 1 1 90

3)选择AID(在我的情况下,AID是A0000000043060从以前的响应)

00 A4 0400 07 A0000000043060

此外,在这种情况下,我有响应:61 36,所以与我重新调用命令:

00 C0 0000 36 A0000000043060

完全缓解:

6f 0 41 45 53 52 4f 54 87 1 1 34 84 a0 7 0 0 4 30 60 a5 29 50 7 4d 5f 2d 8 69 74 65 6e 72 66 65 73 bf c f 9f 4d 2 b a 9f 6e 3 7 80 0 0 30 30 0 90

现在,每一个命令,我使用,会得到错误信息。如果我不得不使用读取数据,读记录,GET处理选项或别的东西我不明白。你能给我什么我现在要做的小费了吗?

我需要拿到卡的16字符代码,即通常清晰地印在卡上的一个。

谢谢大家

apdu emv
1个回答
4
投票

打印在智能卡(支付芯片卡)的8个字节(16位)的代码是可检索。这个信息是“轨2等效数据”,在标签57的记录个性化的一部分。

您可以切片这个“轨2等效数据”的最初8个字节,让您的代码。

现在,如何让“跟踪2等效数据”:

  1. SELECT支付应用程序(这里不包括PSE / PPSE过程,因为你可以做到这一点)
  2. 发送GPO命令。通常80 A8 00 00 02 83 00是APDU为GPO如果没有PDOL数据在GPO命令APDU必需的。 (如果9F38标签不存在于SELCT命令的响应,则只需发送该APDU,否则PDOL必须创建)。见EMV 4.3第3册第6.5.8有关GPO反应更多的细节。
  3. 您将在GPO的响应得到AFL和读取应用程序的所有可用记录按AFL。通常跟踪2周的数据可能在2条或3初始记录中找到。 要了解AFL的编码可以参考10.2节EMV 4.3书3。 为了理解读记录APDU建设参考EMV 4.3 1册第11.2节。
  4. 其中一个记录必须包含标签57,你可以获取价值。
© www.soinside.com 2019 - 2024. All rights reserved.