在 PLAIN 通信模式下写入 Backup 文件时,COMMIT 命令失败。
备份文件是 Mifare DESFire EV3 标签上的 32 字节长文件:
- File ID 0x03: Backup data, 32 bytes
~ Communication: plain
~ Read key: key #3
~ Write key: key #4
~ Read/Write key: key #1
~ Change key: key #2
我使用密钥号 01(读写访问密钥)使用“authenticateEV2First”命令运行身份验证并成功,然后运行以“0x9100”响应结尾的 WRITE 命令,这意味着成功。
在此之后,我尝试使用此序列与 FAILURE: 运行 COMMIT
命令command: send apdu --> length: 5 data: 90c7000000
response: received <-- length: 2 data: 917e
响应“0x917E”表示“长度错误”,那么当文件处于 PLAIN 通信模式并且写入命令通过authenticateEV2First 进行身份验证时,COMMIT 命令的正确命令序列应该是什么?
我正在回答我自己的问题,以防有人遇到同样的问题。正确的“提交”apdu 看起来像:
command: send apdu --> length: 7 data: 90c70000010000
response: sendData: received <-- length: 10 data: 12e1c3396f28dd819100
现在写入命令已提交。