我试图阅读Paypass Maestro万事达卡。所以我发送以下SELECT PPSE命令:
00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
我收到以下回复:
6F 2C 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46
30 31 A5 1A BF 0C 17 61 15 4F 0C A0 00 00 00 04
30 60 C1 23 45 67 89 87 01 03 9F 2A 01 02
成功选择:SW1SW2=9000
当我尝试使用TLV解码器解码响应时,我得到了以下信息:
6F File Control Information (FCI) Template
84 Dedicated File (DF) Name
325041592E5359532E4444463031
A5 File Control Information (FCI) Proprietary Template
BF0C File Control Information (FCI) Issuer Discretionary Data
61 Application Template
4F Application Identifier (AID) – card
A0000000043060C123456789
87 Application Priority Indicator
03
9F2A Unknown tag
02
我不知道如何解释包含未知标签9F2A的结果。那么Maestro卡的AID呢?我搜查了一下,发现是:
A0000000043060
有人可以帮我解决这个问题吗?
答案 0 :(得分:4)
9F2A
?标记9F2A
包含此EMV应用程序的内核标识符。在您的情况下,此标记表示必须使用EMV非接触式内核2来处理EMV卡应用程序。您可以在 EMV非接触式支付系统规范 - 书C-2:内核2规范(可以从http://emvco.com/下载)中找到内核规范。
为了理解如何解释对SELECT PPSE命令的响应,您应该阅读支付系统的EMV非接触式规范 - 书籍B:入口点规范。
PPSE是一个列出卡上可用的所有EMV应用程序的目录。此列表中的每个条目都包含在一个应用程序模板中(标记61
)。在您的情况下,列表包含一个条目。
此条目包含应用程序标识符(AID)(标记4F
),应用程序优先级指示符(标记87
)和内核标识符(标记9F2A
)。
AID的前缀表明这是一张Maestro卡(即RID是A000000004,它是MasterCard的注册标识符,PIX以3060开头,通常用于Maestro品牌)。这也与引用实现MasterCard PayPass协议的内核2的内核标识符相匹配。
AID是您使用SELECT(通过AID / DF名称)命令APDU选择EMV支付应用程序的值。接下来,您将为此应用程序发出SELECT命令:
00 A4 04 00 0C A0 00 00 00 04 30 60 C1 23 45 67 89 00
您可以根据内核2规范继续处理。