26 lines
1.0 KiB
Java
26 lines
1.0 KiB
Java
package sega.a7;
|
|
|
|
import javacard.framework.Util;
|
|
import javacard.security.MessageDigest;
|
|
|
|
public class SessionOpen extends Command {
|
|
private static final short RECV_PACKET_SIZE = 26;
|
|
private static final short PARAM_SIZE = 46;
|
|
|
|
public SessionOpen(short cmd, AppData data, MakePacket packet, MessageDigest sha1) {
|
|
super(cmd, RECV_PACKET_SIZE, PARAM_SIZE, data, packet, sha1);
|
|
}
|
|
|
|
public short core(byte[] data, short dataOffset, short dataLength) {
|
|
byte[] ramD_nonceEvent = this.m_ee_data.getNewNonceEvent_ramD();
|
|
this.m_ee_data.setLastNonceEvent_ramD(ramD_nonceEvent, (short) 0, (short) ramD_nonceEvent.length);
|
|
this.m_ee_data.setSession_ramD(AppData.SESSION_ENABLE);
|
|
this.m_ramD_outDataInfo[0] = 0;
|
|
this.m_ramD_outDataInfo[1] = (byte) ramD_nonceEvent.length;
|
|
Util.arrayCopyNonAtomic(ramD_nonceEvent, this.m_ramD_outDataInfo[0], this.m_ramD_outData,
|
|
this.m_ramD_outDataInfo[0], this.m_ramD_outDataInfo[1]);
|
|
|
|
return AppConfig.A7_SUCCESS;
|
|
}
|
|
}
|