我正在尝试使用apdu本机包装模式命令更改我的mifare desfire ev1卡中的密钥,但我总是收到错误911E。我可以成功进行身份验证,创建应用程序和文件,但不能更改密钥! 这是我的工作: 首先,我选择应用程序:
905A00000300000400
然后我使用应用程序主密钥进行身份验证:
=>61900A0000010000
<=00AA55A05A86ED002391AF
=>6190AF000010CD72DFC6E6D040A4F011174EEBE03AA600
<=00AD6CC16025CCFB7B9100
RndA: 1122334455667788
RndB: 8828d6e41eea3d31
session key: 112233448828d6e4
the default key is 16 bytes zeroes.
old key: 00000000000000000000000000000000
new key: 00000000000000010000000000000001
我想最好使用单个DES,为此我选择了一个对称的8字节密钥(我对加密和DES不太了解。我正在使用在线加密网站进行我的工作,甚至进行crc计算)。 因此,如desfire数据表所述,我必须在新密钥上计算crc(因为我已经使用相同的密钥进行了身份验证,并且应用程序密钥设置设置为0F)。 CRC:0x1543(初始值= 0xC6C6。我不知道要使用哪个版本的crc,但在“ 144a3 A”中,已完成的crc与这种类型的crc计算具有相同的结果!) 所以现在我的数据应该是
000000000000000100000000000000014315000000000000
(我不知道为什么将crc 1543放在4315的形式中,但是我这样做了,因为在所有示例中我都看到人们这样做了!以防万一我也尝试了1543形式) 然后我使用会话密钥对数据进行加密,然后将其发送到PICC:
90C400001900432ADBD3628828B82087FAEC190C2BAB8C232CD5882BF7C600
然后我得到00911E错误代码。 我不知道我在做什么错。我已经搜索了整个论坛和网络,将所有内容都整理了一下,却没有成功。 有人可以帮我吗?!