在MIFARE DESFire EV1卡上创建应用程序

时间:2012-10-17 02:54:00

标签: c smartcard mifare smartcard-reader

我有一个使用MIFARE DESFIRE EV1卡创建考勤系统的项目。

我需要在此项目中使用的读卡器品牌仅支持ISO 7816-x,因此我需要使用DESFIRE ISO7816-4 APDU Wrapping模式向Card Reader发送命令。

我也可以访问恩智浦文档资源。

到目前为止,我可以在卡上运行一些命令,例如获取版本,获取应用程序ID,可用内存。 所有这些命令都可以在普通模式下运行,无需安全性。 但我还是无法在这张卡上创建应用程序。

我确定我创建应用程序的命令是正确的但是代码为0x7E(长度错误)失败了。

这是我的创建应用程序代码失败。

-> 90 CA (00 00 05) 414141 0F 0E (00)
<- 91 7E

我想知道:

  • 我是否按正确的顺序运行命令?
  • 在卡片中创建应用程序之前是否需要进行身份验证

2 个答案:

答案 0 :(得分:0)

最后一个字节表示要在该应用程序中使用的键数。对于每个Desfire卡,每个应用程序只能创建14个密钥。因此,密钥的数量应该是从0x01到0x0E。

答案 1 :(得分:0)

此命令为我创建一个应用程序(使用AES密钥,因此num_keys字节中的0x80位)。

(90) ca (00 00 05) 33 22 11 0b 84 (00)