我正在尝试使用java智能卡IO功能将数据写入HID Omnikey 5122设备中的非接触式卡。
我需要插入卡中的数据是{00 01 02 03}
。
APDU命令我正试图通过通道发送。传输功能为{FF D6 00 04 04 00 01 02 03}
其中:
- FF是CLS
- D6是INS
- 00是P1
- 04为P2
- 04是要更新的字节数
- 00 01 02 03是我需要插入的数据
我无法通过以下函数正确构建APDU命令。有人能帮我吗。我正在使用java智能心脏库中可用的函数。
ResponseAPDU respApdu = channel.transmit(
new CommandAPDU(0xFF,0xD6,0x00,0x04,0x04,
new byte[] {(byte) 0x00,
(byte) 0x01,
(byte)0x02,
(byte)0x03}));
我遇到语法错误,比如构造函数命令有无效的参数。
看起来您正试图发送一个UPDATE BINARY APDU来更新偏移量为4的透明文件(这是您在P1-P2中提供的(。您必须使用00h的CLA字节(如果该文件操作不需要使用安全消息(。由于P1-P2在您的案例中没有指定短文件标识符,因此您当前选择的文件具有
- 与READ/UPDATE BINARY命令兼容
- 使文件大小>9 byres