/*
 * app_drk.h
 */

#ifndef _TZ_ICCC_APP_DRK_H_
#define _TZ_ICCC_APP_DRK_H_

#include <stdio.h>

#include <qsee_rsa.h> // QSEE_RSA_KEY, QSEE_S_BIGINT

#include "tz_iccc_comdef.h"

iccc_error_code_t load_iccc_key(QSEE_RSA_KEY *iccc_key);
void free_key(QSEE_RSA_KEY *rsa_key);

#define ICCC_KEY_TYPE_RSA_CERT    0x01
#define ICCC_KEY_TYPE_RSA_PRIVATE 0x03
#define ICCC_KEY_TYPE_TL_NAME     0x04

#define CHECK_UINT_BEFORE_ADD(a, b) (((a + (b)) >= a) ? 1 : 0)
#define CHECK_UINT_BEFORE_SUB(a, b) (a > b ? 1 : 0)

#define TL_NAME_MAX_LEN 32

#define MAX_CERTS 3
#define MAX_CERT_LENGTH 2500

#define ICCC_MAX_KEY_BUF 4096
#define MAX_WRAPPED_KEY_LEN 8192

#endif // _TZ_ICCC_APP_DRK_H_
