CMACなしのAPDU(CLAバイト= 0x80
)をアプレットに送信しています。SCP02i55を使用しています。関数でデータを暗号化する必要があり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
)がスローされ、暗号化された20の応答APDUが期待されていました。
私は何を間違えますか?