使用apdu.sendBytesLong()函数以APDU命令的形式从javacard发送数据时,我能够发送127字节数据作为响应,但128字节数据给出错误代码6f00(SW_UNKNOWN)。 为什么会发生这种情况,任何人都可以在不将数据分成两个apdu命令的情况下提出建议。
le = apdu.setOutgoing();
if(le != 128)
ISOException.throwIt(ISO7816.SW_WRONG_LENGTH);
apdu.setOutgoingLength((byte)le);
apdu.sendBytesLong(mod_PkAIKR,(short)0, le);
其中mod_PkAIKR是一个128字节的字节数组。
谢谢
答案 0 :(得分:0)
更改
apdu.setOutgoingLength((byte)le);
至
apdu.setOutgoingLength(le);
apdu.setOutgoing()
的参数类型很短,不需要转换类型。(byte) 128
的值为-128
。