我有一张Desfire EV1智能卡,并尝试通过DUALi读卡器阅读。 我知道对于Desfire我需要包装命令。
尝试发送了这样的简单APDU命令:
90 60 00 00 00 00
INT uiLen = 0;
BYTE pbData[256];
BYTE cmd[6] = {0x90,0x60,0x00,0x00,0x00,0x00};
iDERc = DE_APDU(
m_sPortNoM,
6, cmd,
(LPINT)&uiLen, (LPBYTE)pbData);
但为什么总是返回:DE_NACK_COUNT_ERROR?
还尝试向SAM发送一些APDU命令,总是遇到错误。返回码为1,未在任何响应代码定义中定义。
已发送DE_InitPort和DE_IC_PowerOn命令,返回成功。
谢谢
编辑:
对于DE_APDU命令和参数说明:
int DE_APDU(int nPort,BYTE datalen,LPBYTE data,LPINT outlen,LPBYTE LPRES)
- 以ISO7816定义的APDU格式发送和接收数据。设备将其更改为ISO14443协议并发送到卡,因此用户可以轻松实现 在不知道ISO14443协议的情况下使用此功能。
- 参数
- int nPort [in]:端口号。
- int datalen [in]:LPBYTE数据的长度。
- LPBYTE数据[in]:发送到卡的APDU。
- LPINT outlen [out]:LPBYTE lpRes的长度
- LPBYTE lpRes [out]:响应数据。