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; } }