我目前尝试写关于JavaCard小应用程序的测试。我使用JUnit和javax.smartcardio将所有命令发送到智能卡。 但我需要打开一个安全通道才能让我的一个测试正常运行。 经过两天对文档和实验的严格审查,我无法找到打开此安全通道的方法。有人有智能卡API的线索吗?或者其他API愿意这样做?java智能卡I/O安全通道
//TODO: need secure channel
byte[] header = {(byte)0x02, (byte)0x01, (byte)0x01}; //tag + length
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
outputStream.write(header);
outputStream.write(Value.SN.getBytes());
byte[] excpectedRes = outputStream.toByteArray();
// not a secure channel at all
ResponseAPDU answer = channel.transmit(new CommandAPDU(0x84, 0xCA, 0x02, 0x01, Value.Emptydata));
nameTest = "Test Select Serial number " + answer.toString();
CheckSW(0x90, 00, answer);
CheckResult(excpectedRes, result);
这是我的代码,我总是得到一个0×69为0x82答案(安全状态不被满足)
感谢
请详细说明您的问题或发布您的非工作代码...解释问题出在哪里 –
@AuuragSharma代码例程完成。 probeleme是我的频道是一个简单的javax.smartcardio.CardChannel –