我想知道如何从借记/贷记智能卡中获取PAN(主帐号)。 我尝试使用APDU命令使用Maestro借记卡,并获得以TLV编码的字节数据。 EMV规范说PAN位于标签“ A5”上,但我没有在该标签上识别它。
APDU命令:
<<00 A4 04 00 07 A0 00 00 00 04 30 60
>>61 42
<<00 C0 00 00 42
>>6F 40 84 07 A0 00 00 00 04 30 60 A5 35 50 07 4D 41 45 53 54 52 4F 87 01 01 5F 2D 06 65 73 65 6E 70 74 9F 11 01 01 9F 12 07 4D 41 45 53 54 52 4F BF 0C 0F 9F 4D 02 0B 0A 9F 6E 07 08 62 00 00 30 30 00 90 00
解码数据:
6F File Control Information (FCI) Template
84 Dedicated File (DF) Name
A0000000043060
A5 File Control Information (FCI) Proprietary Template
50 Application Label
M A E S T R O
87 Application Priority Indicator
01
5F2D Language Preference
e s e n p t
9F11 Issuer Code Table Index
01
9F12 Application Preferred Name
M A E S T R O
BF0C File Control Information (FCI) Issuer Discretionary Data
9F4D Log Entry
0B0A
9F6E Unknown tag
08620000303000
90 Issuer Public Key Certificate
答案 0 :(得分:0)
APDU命令:
<<00 B2 01 0C 00
>>6C 89
<<00 B2 01 0C 89
>>70 81 86 9F 42 02 09 37 5F 25 03 17 12 08 5F 24 03 21 12 31 5A 08 XX XX XX XX XX XX XX XX 5F 34 01 00 9F 07 02 FF C0 8C 27 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 9F 35 01 9F 45 02 9F 4C 08 9F 34 03 9F 21 03 9F 7C 14 8D 0C 91 0A 8A 02 95 05 9F 37 04 9F 4C 08 8E 0C 00 00 00 00 00 00 00 00 42 03 01 03 9F 0D 05 B0 50 BC 88 00 9F 0E 05 00 00 00 00 00 9F 0F 05 B0 70 BC 98 00 5F 28 02 08 62 90 00
其中XX XX ...是应用主帐户号码(PAN),以TLV编码。
诀窍是要知道要读取的记录在哪里,因为它并不总是位于同一位置,所以要取决于智能卡。
有时是00 B2 01 0C 00
其他00 B2 02 14 00
和其他组合。
recomiendo leer:Getting information from an EMV chip card with Java,有关更多详细信息:EMV Integrated Circuit Card Specifications for Payment Systems Book 3
答案 1 :(得分:0)
PAN。 执行GPO(获取处理命令)命令后,需要获取AFL条目。 AFL将描述需要执行“读取记录”命令的SFI和记录号,之后便可以从卡中读取PAN。
示例APDU是:
<div id="overlay_root" class={this.state.listMenuToggle ? 'active' : 'de-active' } onClick = {e => yourMethod(e)}>
//some content
</div>