我正在向0x80
小程序发送没有 CMAC(CLA 字节 =)的 APDU。我正在使用 SCP02 i55。SecureChannel.encryptData()
我需要使用该功能加密数据。我不想手动加密它,我需要 Global Platform 加密数据,然后我将使用正确的会话密钥对其进行解密(我确信它们是经过精心计算的)。
我正在使用以下代码来加密 APDU 缓冲区。
byte buffer = apdu.getBuffer();
buffer[0] = 20;
short lc = chan.encryptData(buffer, (short) 0, (short) 1);
apdu.setOutgoingAndSend((short) 0, lc);
这会引发一个安全状态不满足异常 ( 0x6982
),我期望响应 APDU 带有加密 20。
我做错了什么?