非接触式智能卡仅响应第一个 APDU 命令
Posted
技术标签:
【中文标题】非接触式智能卡仅响应第一个 APDU 命令【英文标题】:Contactless Smartcard response only to first APDU command 【发布时间】:2015-08-03 08:58:46 【问题描述】:我正在使用 RC530 读取 SmartCard-Mastercard,但在 RC522 中存在同样的问题。 问题是每次仅在 forst 命令上响应。 我发送:
status =Request();
status =Anticoll();
status =Select();
status =RATS();
// send first APDU
status=Command_Send(21,Transceive);//0x02,0x00,0xA4,0x04,0x00,0x0E,0x32,0x50,0x41,0x59,0x2E,0x53,0x59,0x53,0x2E,0x44,0x44,0x46,0x30,0x31,0x00+crc;
// respond OK Mastercard Debit
response OK = 6F 35 84 E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 23 BF 0C 20 61 1E 4F 07 A0 00 00 00 04 10 10 50 10 44 45 42 49 54 20 4D 41 53 54 45 52 43 41 52 44 87 01 01 90 00
// Next Select File APDU
status=Command_Send(14,Transceive)//0x02,0x00,0xA4,0x04,0x00,0x07,0xA0,0x00,0x00,0x00,0x04,0x10,0x10,0x00+crc
// Card don´t respond
response = 00
当我尝试先发送选择文件时,卡的响应也正常。 我尝试发送两次相同的命令,第二次没有响应。 但我需要为读取记录等发送更多 APDU。 我不知道为什么 Card 不响应任何下一个 APDU 命令,只响应第一个。 有什么想法吗?
【问题讨论】:
您好,只是一个小细节:当您将代码粘贴到问题中时,您可以选择所有代码并单击
按钮。这将为您的代码提供正确的格式,并且更易于阅读。现在有人正在编辑您的问题。
【参考方案1】:
问题已解决。问题是 PCB 字节,其中必须为每个命令切换块编号。 ISO14443协议中的解释很差。
谢谢。
【讨论】:
以上是关于非接触式智能卡仅响应第一个 APDU 命令的主要内容,如果未能解决你的问题,请参考以下文章