如何使用DES78 Ev1卡的ISO7816选择命令?

时间:2014-12-17 21:42:25

标签: nfc smartcard mifare

我有一张DESfire Ev1版本1.3卡,我正在尝试使用ISO7816 apdu样式选择文件。

我有一个文件,有A0 A1 A2,我可以使用原生模式或包裹模式选择它:

本机:

-> 5A A0 A1 A2
<- 00

裹:

-> 90 5A 00 00 03 A0 A1 A2 00
<- 91 00

但是,如果我尝试使用ISO7816样式选择它,我总是会找到一个找不到文件的错误:

ISO7816:

-> 00 A4 04 00 03 A0 A1 A2 00
-> 6A 82

使用ISO apdu时,AID是否采用不同的格式?如何使用它选择此AID?

1 个答案:

答案 0 :(得分:0)

来自文档:

  

此APDU通过其ISO应用程序选择ISO应用程序   标识符(AID)。 DESFire的ISO AID是“0xD2 76 00 00 85 01 00”。   必须传输完整的ISO AID,而不是部分选择   支持的。 DESFire

不支持其他ISO AID

这似乎与您有AID 0xA0 0xA1 0xA2

的事实相矛盾

好像你需要发送:

[CLA] [INS] [P1] [P2] [Len(AID)] [AID] 

因此:

0x00 0xA4 0x04 0x00 0x07 0xD2 0x76 0x00 0x00 0x85 0x01 0x00

**编辑**

请尝试ISO SELECT DIRECTORY

  

该APDU通过它的三字节DESFire选择DESFire应用程序   应用程序标识符(DESFire AID)。 ...

     

ISO SELECT DIRECTORY命令的功能兼容   使用本机DESFire“选择应用程序”命令。

所以:

0x00 0xA4 0x04 0x00 0x03 0xA0 0xA1 0xA2

(这是在下一页,可能是你想要的第一个。)

我认为这与你所拥有的相同,最后减去NUL