即使存在一个EF文件,追加记录APDU也会收到69、86的错误响应

时间:2019-07-04 10:58:29

标签: smartcard apdu

APDU UPDATE RECORD给我一个SW = 1 69 SW2 = 86的错误:命令不允许(没有当前EF)

APDU: CLA = 0x00 , INS = 0xE2, P1 = 0x00 , p2 = 0x00 , len = length of data  , data 

在执行代码之前,我选择了EF文件,结果是: sw1=90 sw2=00,因此它存在。

我也尝试运行Create EF文件,它给我一个错误:

sw1 = 6A sw2=89 : File Already Exists.

我还可以在更新记录之前运行挑战并进行外部身份验证,但是问题仍然存在。

还有什么我必须考虑的事情吗?

1 个答案:

答案 0 :(得分:1)

错误 69 86 并不意味着该文件不存在,而是当前未选择任何可以在其上运行APPEND RECORD的EF。我最好的猜测是,在您的选择(证明存在EF)和尝试在其上附加某些东西之间发生,这破坏了选择,例如。 G。选择包含身份验证密钥的DF,或选择包含密钥的EF(如果您的智能卡OS以此方式存储它们)。

仅建议:尝试至少在追加之前重新选择EF,或者至少在正确的DF中使用P2指定短的EF标识符。