Я пытаюсь установить буфер CommandAPDU с байтовым массивом. Однако, если длина> 7, выдается следующая ошибка:
Исключение в потоке "main" java.lang.IllegalArgumentException: Invalid
APDU: длина = 8, b1 = 1 при
javax.smartcardio.CommandAPDU.parse (CommandAPDU.java:318) в
javax.smartcardio.CommandAPDU. (CommandAPDU.java:98) в
terminal.Main.main (Main.java:78)
Мой код:
byte terminal = 0x00;
byte instruction = 0x01;
byte [] msg = {0x01,0x00,0x01,0x00};
byte [] fullmsg = new byte[msg.length + 4];
System.arraycopy(new byte []{terminal}, 0, fullmsg, 0, 1);
System.arraycopy(new byte [] {instruction}, 0, fullmsg, 1, 1);
System.arraycopy(new byte [] {0,0}, 0, fullmsg, 2, 2);
System.arraycopy(msg, 0, fullmsg, 4, msg.length);
CommandAPDU cmdapdu = new CommandAPDU(fullmsg);
Может ли кто-нибудь мне помочь?