我已经开始使用NXP NTAG 424 TT芯片以及nfcpy和一个相同的SCL3711读/写器。我可以成功发送和接收APDU命令,安全地验证自己的身份,并以加密的通信模式发送和接收命令。
但是我无法将数据读取或写入芯片,我也不知道为什么。这是我的工作(主要摘录自NXP application注意第24页):
00A404C07D276000085010100
AuthenticatEV2First
使用密钥0x00执行安全认证协议>cmd_header = 02000000040000
cmd_data = 00D1FF00 (before padding)
cmd_data = 00D1FF00800000000000000000000000 (after padding)
The complete command which I send looks like this:
cla cmd P1&2| Lc |ISO Header | encrypted Data |LE
90 8D 00 00 1F 02 000000 040000 6688A4D75482FC972C2447A1A20F0AC9C073C1CF506B2BD3 00
但是芯片仅以917E
响应:“长度错误”,翻译为“不允许的命令大小”我究竟做错了什么?它不能是加密,我用其他各种命令(getTTStatus,SetConfiguration)进行了测试,它们都工作正常。我检查了标题四倍。我是否可能无法选择正确的文件,还是错过了其他一些步骤?还有“不允许的命令大小”是什么意思?这个错误对我来说是一个很难理解的错误(使用加密芯片时很有趣:D)。
非常感谢您的帮助!
最好的问候,菲尔
我已经开始使用NXP NTAG 424 TT芯片,nfcpy和一个相同的SCL3711读/写器。我可以成功发送和接收APDU命令,对自己进行安全身份验证并发送...
在这种情况下,“加密数据”字段的长度为24个字节,而在ISO标头中提到的长度为“ 040000”,即4个字节。您的加密数据长度应与您正在写入的数据长度相匹配。根据您的情况,两个长度都不匹配,从而导致错误。