/* * * Copyright 2016,2020 NXP * SPDX-License-Identifier: Apache-2.0 */ #ifndef _A71CH_CONST_H_ #define _A71CH_CONST_H_ #ifdef __cplusplus extern "C" { #endif #if defined(SSS_USE_FTR_FILE) #include "fsl_sss_ftr.h" #else #include "fsl_sss_ftr_default.h" #endif #if SSS_HAVE_A71CH && (!(SSS_HAVE_A71CH_SIM)) # define APPLET_NAME "a71ch" // 0x61.37.31.63.68 # define APPLET_NAME_LEN (sizeof(APPLET_NAME) - 1) # define SE_NAME "A71CH" #endif #if SSS_HAVE_LOOPBACK # define APPLET_NAME \ { 0xD2, 0x76, 0x00, 0x00, 0x85, 0x54, 0x65, 0x73, \ 0x74, 0x01, 0x01 } //echo applet # define APPLET_NAME_LEN (11) # define SE_NAME "LoopBack" #endif #if SSS_HAVE_A71CL # define APPLET_NAME \ { 0xA0, 0x00, 0x00, 0x00, 0x41, 0x6C, 0x69, 0x59, \ 0x75, 0x6E, 0x2E, 0x49, 0x44, 0x32, 0x01}// "Ali Yun" # define APPLET_NAME_LEN (15) # define SE_NAME "A71CL" #endif #if SSS_HAVE_SE050_L # define APPLET_NAME \ { 0xA0, 0x00, 0x00, 0x00, 0x41, 0x6C, 0x69, 0x59, \ 0x75, 0x6E, 0x2E, 0x49, 0x44, 0x32 \ }// "Ali Yun" # define APPLET_NAME_LEN (14) # define SE_NAME "SE050_L" #endif #if SSS_HAVE_A71CH_SIM # define APPLET_NAME \ {0xa0, 0x00, 0x00, 0x03, 0x96, 0x54, 0x53, 0x00, \ 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00} # define APPLET_NAME_LEN (16) # define SE_NAME "SE050:EAR:CH" #endif #if SSS_HAVE_APPLET_SE05X_IOT # define APPLET_NAME \ {0xa0, 0x00, 0x00, 0x03, 0x96, 0x54, 0x53, 0x00, \ 0x00, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00} # define APPLET_NAME_LEN (16) # define SSD_NAME \ { 0xD2, 0x76, 0x00, 0x00, 0x85, 0x30, 0x4A, 0x43, 0x4F, 0x90, 0x03} #endif #if SSS_HAVE_SE05X_A # define SE_NAME "SE050:A" #endif #if SSS_HAVE_SE05X_B # define SE_NAME "SE050:B" #endif #if SSS_HAVE_SE05X_C # define SE_NAME "SE050:C" #endif #if SSS_HAVE_SE051_UWB # define SE_NAME "SE051:UWB" #endif #if SSS_HAVE_APPLET_AUTH # define SE_NAME "AUTH" #endif #define A71CH_KEY_PAIR_MAX_A 2 //!< Maximum amount of ECC key pairs that can be stored in A71CH (A device) #define A71CH_PUBLIC_KEY_MAX_A 2 //!< Maximum amount of ECC public keys that can be stored in A71CH (A device) #define A71CH_SYM_KEY_MAX_A 4 //!< Maximum amount of Symmetric keys that can be stored in A71CH (A device) #define A71CH_KEY_PAIR_MAX_B 4 //!< Maximum amount of ECC key pairs that can be stored in A71CH (B device) #define A71CH_PUBLIC_KEY_MAX_B 3 //!< Maximum amount of ECC public keys that can be stored in A71CH (B device) #define A71CH_SYM_KEY_MAX_B 8 //!< Maximum amount of Symmetric keys that can be stored in A71CH (A device) #define A71CH_COUNTER_MAX 2 //!< Maximum amount of monotonic counters that can be stored in A71CH (A&B) // We cover two A71CH product variants that differ in the amount of credentials that can be stored. // These two variants are referred to (in this example source code) as // - TYPE_A (or simply A) - which is the device with lesser storage // - TYPE_B (or simply B) - which is the device with more storage // As the example source code depends on the amount of credentials that can be stored // the ::A71CH_DEVICE_TYPE define must be used to select between either variant at compile time. #define A71CH_DEVICE_TYPE_A (0x41) //!< Symbolic constant to represent the Initial A71CH device #define A71CH_DEVICE_TYPE_B (0x42) //!< Synbolic constant to represent the A71CH device with more storage #define A71CH_DEVICE_TYPE A71CH_DEVICE_TYPE_B //!< Indicate the credential storage capabilities of the A71CH /** @def A71CH_KEY_PAIR_MAX * Maximum ECC Key Pairs in the Secure module */ /** @def A71CH_PUBLIC_KEY_MAX * Maximum ECC Public Keys in the Secure module */ /** @def A71CH_SYM_KEY_MAX * Maximum ECC Symmetric Keys in the Secure module */ /** @def A71CH_GP_STORAGE_SIZE * Maximum General Purpose Storage in the Secure module */ #if A71CH_DEVICE_TYPE == A71CH_DEVICE_TYPE_A //!< Effective value used in examples # define A71CH_KEY_PAIR_MAX A71CH_KEY_PAIR_MAX_A # define A71CH_PUBLIC_KEY_MAX A71CH_PUBLIC_KEY_MAX_A # define A71CH_SYM_KEY_MAX A71CH_SYM_KEY_MAX_A # define A71CH_GP_STORAGE_SIZE A71CH_GP_STORAGE_SIZE_A #else # define A71CH_KEY_PAIR_MAX A71CH_KEY_PAIR_MAX_B # define A71CH_PUBLIC_KEY_MAX A71CH_PUBLIC_KEY_MAX_B # define A71CH_SYM_KEY_MAX A71CH_SYM_KEY_MAX_B # define A71CH_GP_STORAGE_SIZE A71CH_GP_STORAGE_SIZE_B #endif #ifdef __cplusplus } #endif #endif //_A71CHCONSTL_H_