我正在使用ACS读卡器。我有一张非接触式VISA卡。通过读卡,我得到以下十六进制ATR信息:
3B 6E 00 00 80 31 80 66 B1 A3 01 01 21 0A 83 00 90 00
从上面的ATR,我如何检测卡号和类型?
答案 0 :(得分:2)
你不能。
ATR(回复重置)不包含此类信息。事实上,由于您的卡是非接触式卡(ISO / IEC 14443-4),它甚至没有ATR,而是ATS(接听选择),这是非接触式“等效”(至少在术语上)包含的信息)ATR。
相反,您需要与您的卡交换APDU(ISO / IEC 7816-4)以从中获取更多信息。由于你参考VISA,你的卡可能会说非接触式卡的EMV协议(见http://www.emvco.com/)。
答案 1 :(得分:2)
ATR =复位应答,是来自卡的十六进制字符串,作为IFD / Card_Reader发送的复位命令的响应。它讲述了卡片属性,如 -
- card speed
- protocol (T=0, T=1) supported by card
- etc..
如果您需要从卡中获取卡号/ PAN,则需要触发Read_Record命令以从卡中获取值。顺序将如下: -
非接触式PPSE:
00A404000E325041592E5359532E444446303100 // ppse command
它将为您提供卡中安装的应用程序的AID,在您的情况下将是
A0 00 00 00 03 10 10 //签证援助
选择申请
00 a4 04 00 07 A0 00 00 00 03 10 10 00
然后Fire GPO命令,它将为您提供AFL详细信息。接下来,您需要触发Read Record命令并搜索PAN Tag(5A)。
此SO帖子对您有用..希望此信息可以帮助您获取所需的卡号/ PAN。