#ifndef __SCP03_CMDGENERATOR_H__
#define __SCP03_CMDGENERATOR_H__

#include "sec_apdu.h"
//#include "openssl/rand.h"
#include "SCP03_kdf.h"
#include "SCP03_tools.h"
#include "SCP03.h"

#define KID_Key_ENC 0x00
#define HostChallenge_LENGH 0x08

SCPSTATUS getInitialUpdateCmd(p_secEse_7816_cpdu_t pCpdu, uint8_t kvn);
void getExternalAuthenticateCmd(uint8_t* S_MAC, p_secEse_7816_cpdu_t pCpdu, uint8_t securityLevel, uint8_t* hostCryptogram, uint8_t* MCV);
void getSCP03Cmd(p_secEse_7816_cpdu_t pCpdu, uint8_t* encrypted_data, uint8_t* S_ENC, uint8_t* S_MAC, uint8_t* ICV, uint8_t* MCV, uint8_t* security_level_status);

#endif

