我试图写数据到非接触式卡在hid万能5122设备使用java smartcardio功能。
我需要插入卡片的数据是 {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 smartcardio库中提供的函数。
ResponseAPDU respApdu = channel.transmit(
new CommandAPDU(0xFF,0xD6,0x00,0x04,0x04,
new byte[] {(byte) 0x00,
(byte) 0x01,
(byte)0x02,
(byte)0x03}));
我得到语法错误,像构造函数命令有无效的参数。
1条答案
按热度按时间92vpleto1#
看起来您正在尝试发送更新二进制apdu来更新偏移量4处的透明文件(这是您在p1-p2中提供的)。必须使用cla字节00h(如果该文件操作不需要使用安全消息)。由于p1-p2在您的案例中没有指定短文件标识符,因此您当前选择的文件
与读取/更新二进制命令兼容
文件大小>=9字节。