diff --git a/include/crypto.h b/include/crypto.h index 70c87a7d..92f9a307 100644 --- a/include/crypto.h +++ b/include/crypto.h @@ -50,11 +50,11 @@ ** Crypto Version */ #define CRYPTO_LIB_MAJOR_VERSION 1 -#define CRYPTO_LIB_MINOR_VERSION 4 -#define CRYPTO_LIB_REVISION 1 +#define CRYPTO_LIB_MINOR_VERSION 5 +#define CRYPTO_LIB_REVISION 0 #define CRYPTO_LIB_MISSION_REV 0 -#define GVCID_MAX_PARAM_SIZE 250 +#define GVCID_MAX_PARAM_SIZE 100 #define CRC32TBL_SIZE 256 #define CRC16TBL_SIZE 256 @@ -65,10 +65,15 @@ uint8_t Crypto_gf_mul(uint8_t a, uint8_t b); // Crypto Library Configuration functions extern int32_t Crypto_Config_CryptoLib(uint8_t key_type, uint8_t mc_type, uint8_t sa_type, uint8_t cryptography_type, - uint8_t iv_type, uint8_t crypto_create_fecf, uint8_t process_sdls_pdus, - uint8_t has_pus_hdr, uint8_t ignore_sa_state, uint8_t ignore_anti_replay, - uint8_t unique_sa_per_mapid, uint8_t crypto_check_fecf, uint8_t vcid_bitmask, - uint8_t crypto_increment_nontransmitted_iv); + uint8_t iv_type); +extern int32_t Crypto_Config_TC(uint8_t crypto_create_fecf, uint8_t process_sdls_pdus, uint8_t has_pus_hdr, + uint8_t ignore_anti_replay, uint8_t ignore_sa_state, uint8_t unique_sa_per_mapid, + uint8_t crypto_check_fecf, uint8_t vcid_bitmask, + uint8_t crypto_increment_nontransmitted_iv); +extern int32_t Crypto_Config_TM(uint8_t crypto_create_fecf, uint8_t ignore_anti_replay, uint8_t crypto_check_fecf, + uint8_t vcid_bitmask, uint8_t crypto_increment_nontransmitted_iv); +extern int32_t Crypto_Config_AOS(uint8_t crypto_create_fecf, uint8_t ignore_anti_replay, uint8_t crypto_check_fecf, + uint8_t vcid_bitmask, uint8_t crypto_increment_nontransmitted_iv); extern int32_t Crypto_Config_MariaDB(char *mysql_hostname, char *mysql_database, uint16_t mysql_port, uint8_t mysql_require_secure_transport, uint8_t mysql_tls_verify_server, char *mysql_tls_ca, char *mysql_tls_capath, char *mysql_mtls_cert, @@ -81,11 +86,13 @@ extern int32_t Crypto_Config_Kmc_Crypto_Service(char *protocol, char *kmc_crypto char *mtls_client_key_pass, char *mtls_issuer_cert); extern int32_t Crypto_Config_Cam(uint8_t cam_enabled, char *cookie_file_path, char *keytab_file_path, uint8_t login_method, char *access_manager_uri, char *username, char *cam_home); -extern int32_t Crypto_Config_Add_Gvcid_Managed_Parameters(GvcidManagedParameters_t mp_struct); +extern int32_t Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TCGvcidManagedParameters_t mp_struct); +extern int32_t Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TMGvcidManagedParameters_t mp_struct); +extern int32_t Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOSGvcidManagedParameters_t mp_struct); // Initialization extern int32_t Crypto_Init(void); // Initialize CryptoLib After Configuration Calls extern int32_t Crypto_Init_With_Configs( - CryptoConfig_t *crypto_config_p, GvcidManagedParameters_t *gvcid_managed_parameters_p, + CryptoConfigGlobal_t *crypto_config_p, TCGvcidManagedParameters_t *gvcid_managed_parameters_p, SadbMariaDBConfig_t *sa_mariadb_config_p, CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config_p); // Initialize CryptoLib With Application Defined Configuration @@ -128,7 +135,7 @@ void Crypto_TC_Get_Ciper_Mode_TCP(uint8_t sa_service_type, uint32_t *encryption_ SecurityAssociation_t *sa_ptr); int32_t Crypto_TC_Get_Ciper_Mode_TCA(uint8_t sa_service_type, uint32_t *encryption_cipher, uint8_t *ecs_is_aead_algorithm, SecurityAssociation_t *sa_ptr); -void Crypto_TC_Calc_Lengths(uint8_t *fecf_len, uint8_t *segment_hdr_len, uint8_t *ocf_len); +void Crypto_TC_Calc_Lengths(uint8_t *fecf_len, uint8_t *segment_hdr_len); void Crypto_TC_Set_Segment_Header(TC_t *tc_sdls_processed_frame, uint8_t *ingest, int *byte_idx); int32_t Crypto_TC_Check_CMD_Frame_Flag(uint8_t header_cc); int32_t Crypto_TC_Validate_SA_Service_Type(uint8_t sa_service_type); @@ -185,6 +192,9 @@ extern char *Crypto_Get_Error_Code_Enum_String(int32_t crypto_error_code); int32_t Crypto_Get_Security_Header_Length(SecurityAssociation_t *sa_ptr); int32_t Crypto_Get_Security_Trailer_Length(SecurityAssociation_t *sa_ptr); +int32_t crypto_handle_incrementing_nontransmitted_counter(uint8_t *dest, uint8_t *src, int src_full_len, + int transmitted_len, int window); + /* ** Internal Prototypes */ @@ -245,14 +255,16 @@ uint16_t Crypto_Calc_FECF(const uint8_t *ingest, int len_ingest); uint16_t Crypto_Calc_FHECF(uint8_t *data); int32_t Crypto_Calc_CRC_Init_Table(void); uint16_t Crypto_Calc_CRC16(uint8_t *data, int size); -int32_t Crypto_Check_Anti_Replay(SecurityAssociation_t *sa_ptr, uint8_t *arsn, uint8_t *iv); +int32_t Crypto_Check_Anti_Replay(SecurityAssociation_t *sa_ptr, uint8_t *arsn, uint8_t *iv, + uint8_t increment_nontransmitted); int32_t Crypto_Get_ECS_Algo_Keylen(uint8_t algo); int32_t Crypto_Get_ACS_Algo_Keylen(uint8_t algo); uint8_t Crypto_Is_ACS_Only_Algo(uint8_t algo); int32_t Crypto_Check_Anti_Replay_Verify_Pointers(SecurityAssociation_t *sa_ptr, uint8_t *arsn, uint8_t *iv); int32_t Crypto_Check_Anti_Replay_ARSNW(SecurityAssociation_t *sa_ptr, uint8_t *arsn, int8_t *arsn_valid); -int32_t Crypto_Check_Anti_Replay_GCM(SecurityAssociation_t *sa_ptr, uint8_t *iv, int8_t *iv_valid); +int32_t Crypto_Check_Anti_Replay_GCM(SecurityAssociation_t *sa_ptr, uint8_t *iv, int8_t *iv_valid, + uint8_t increment_nontransmitted); // SDLS Related Functions extern uint8_t Crypto_Prep_Reply(uint8_t *ingest, uint8_t appID); @@ -300,9 +312,15 @@ int32_t Crypto_SEC_MON_CTRL(uint8_t *ingest); int32_t Crypto_USER_DEFINED_CMD(uint8_t *ingest); // Managed Parameter Functions -int32_t Crypto_Get_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, - GvcidManagedParameters_t *managed_parameters_in, - GvcidManagedParameters_t *managed_parameters_out); +int32_t Crypto_Get_TC_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, + TCGvcidManagedParameters_t *managed_parameters_in, + TCGvcidManagedParameters_t *managed_parameters_out); +int32_t Crypto_Get_TM_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, + TMGvcidManagedParameters_t *managed_parameters_in, + TMGvcidManagedParameters_t *managed_parameters_out); +int32_t Crypto_Get_AOS_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, + AOSGvcidManagedParameters_t *managed_parameters_in, + AOSGvcidManagedParameters_t *managed_parameters_out); // Project-wide support functions extern int32_t crypto_deep_copy_string(char *src_string, char **dst_string); @@ -327,27 +345,30 @@ extern AOS_FrameSecurityHeader_t aos_frame_sec_hdr; // Used to reduce bit math d extern uint8_t parity[4]; // Used in FHECF calc // Global configuration structs -extern CryptoConfig_t crypto_config; +extern CryptoConfigGlobal_t crypto_config_global; +extern CryptoConfigTC_t crypto_config_tc; +extern CryptoConfigTM_t crypto_config_tm; +extern CryptoConfigAOS_t crypto_config_aos; extern SadbMariaDBConfig_t *sa_mariadb_config; extern char *mariadb_table_name; extern CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config; extern CamConfig_t *cam_config; -extern GvcidManagedParameters_t *gvcid_managed_parameters; -extern GvcidManagedParameters_t *current_managed_parameters; -extern GvcidManagedParameters_t gvcid_managed_parameters_array[GVCID_MAX_PARAM_SIZE]; -extern GvcidManagedParameters_t tc_current_managed_parameters_struct; -extern GvcidManagedParameters_t tm_current_managed_parameters_struct; -extern GvcidManagedParameters_t aos_current_managed_parameters_struct; -extern int gvcid_counter; +extern TCGvcidManagedParameters_t tc_gvcid_managed_parameters_array[GVCID_MAX_PARAM_SIZE]; +extern TMGvcidManagedParameters_t tm_gvcid_managed_parameters_array[GVCID_MAX_PARAM_SIZE]; +extern AOSGvcidManagedParameters_t aos_gvcid_managed_parameters_array[GVCID_MAX_PARAM_SIZE]; +extern TCGvcidManagedParameters_t tc_current_managed_parameters_struct; +extern TMGvcidManagedParameters_t tm_current_managed_parameters_struct; +extern AOSGvcidManagedParameters_t aos_current_managed_parameters_struct; +extern int tc_gvcid_counter; +extern int tm_gvcid_counter; +extern int aos_gvcid_counter; extern KeyInterface key_if; extern McInterface mc_if; extern SaInterface sa_if; extern CryptographyInterface cryptography_if; // extern crypto_key_t ak_ring[NUM_KEYS]; -extern SadbMariaDBConfig_t *sa_mariadb_config; -extern GvcidManagedParameters_t *gvcid_managed_parameters; -extern GvcidManagedParameters_t *current_managed_parameters; +extern SadbMariaDBConfig_t *sa_mariadb_config; // OCF extern uint8_t ocf; diff --git a/include/crypto_config.h b/include/crypto_config.h index 02d43c10..4ae4db10 100644 --- a/include/crypto_config.h +++ b/include/crypto_config.h @@ -42,7 +42,7 @@ #endif // Managed Parameters Size -#define GVCID_MAN_PARAM_SIZE 250 +#define GVCID_MAN_PARAM_SIZE 100 // Max Frame Size #define TC_MAX_FRAME_SIZE 1024 diff --git a/include/crypto_config_structs.h b/include/crypto_config_structs.h index f44e9090..165c045c 100644 --- a/include/crypto_config_structs.h +++ b/include/crypto_config_structs.h @@ -29,38 +29,39 @@ ivv-itc@lists.nasa.gov // main config enums typedef enum { - UNITIALIZED = 0, + UNINITIALIZED = 0, INITIALIZED } InitStatus; typedef enum { - KEY_TYPE_UNITIALIZED = 0, + KEY_TYPE_UNINITIALIZED = 0, KEY_TYPE_CUSTOM, KEY_TYPE_INTERNAL, KEY_TYPE_KMC } KeyType; typedef enum { - MC_TYPE_UNITIALIZED = 0, + MC_TYPE_UNINITIALIZED = 0, MC_TYPE_CUSTOM, MC_TYPE_DISABLED, MC_TYPE_INTERNAL } McType; typedef enum { - SA_TYPE_UNITIALIZED = 0, + SA_TYPE_UNINITIALIZED = 0, SA_TYPE_CUSTOM, SA_TYPE_INMEMORY, SA_TYPE_MARIADB } SadbType; typedef enum { - CRYPTOGRAPHY_TYPE_UNITIALIZED = 0, + CRYPTOGRAPHY_TYPE_UNINITIALIZED = 0, CRYPTOGRAPHY_TYPE_LIBGCRYPT, CRYPTOGRAPHY_TYPE_KMCCRYPTO, CRYPTOGRAPHY_TYPE_WOLFSSL, CRYPTOGRAPHY_TYPE_CUSTOM } CryptographyType; + /*************************************** ** GVCID Managed Parameter enums ****************************************/ @@ -89,19 +90,17 @@ typedef enum } CreateFecfBool; typedef enum { - AOS_FHEC_NA = 0, - AOS_NO_FHEC, + AOS_NO_FHEC = 0, AOS_HAS_FHEC } AosFhecPresent; typedef enum { - AOS_IZ_NA, - AOS_NO_IZ, + AOS_NO_IZ = 0, AOS_HAS_IZ } AosInsertZonePresent; typedef enum { - TC_CHECK_FECF_FALSE, + TC_CHECK_FECF_FALSE = 0, TC_CHECK_FECF_TRUE, TM_CHECK_FECF_FALSE, TM_CHECK_FECF_TRUE, @@ -110,7 +109,7 @@ typedef enum } CheckFecfBool; typedef enum { - AOS_NO_OCF, + AOS_NO_OCF = 0, AOS_HAS_OCF, TC_OCF_NA, TM_NO_OCF, @@ -143,9 +142,13 @@ typedef enum } TcIgnoreSaState; typedef enum { - TC_IGNORE_ANTI_REPLAY_FALSE, - TC_IGNORE_ANTI_REPLAY_TRUE -} TcIgnoreAntiReplay; + TC_IGNORE_ANTI_REPLAY_FALSE = 0, + TC_IGNORE_ANTI_REPLAY_TRUE, + TM_IGNORE_ANTI_REPLAY_FALSE, + TM_IGNORE_ANTI_REPLAY_TRUE, + AOS_IGNORE_ANTI_REPLAY_FALSE, + AOS_IGNORE_ANTI_REPLAY_TRUE, +} IgnoreAntiReplay; typedef enum { TC_UNIQUE_SA_PER_MAP_ID_FALSE, @@ -207,37 +210,94 @@ typedef struct McType mc_type; SadbType sa_type; CryptographyType cryptography_type; - IvType iv_type; // Whether or not CryptoLib should generate the IV - CreateFecfBool crypto_create_fecf; // Whether or not CryptoLib is expected to calculate TC FECFs and return + IvType iv_type; // Whether or not CryptoLib should generate the IV +} __attribute__((packed)) CryptoConfigGlobal_t; +#define CRYPTO_GLOBAL_CONFIG_SIZE (sizeof(CryptoConfigGlobal_t)) + +typedef struct +{ + InitStatus init_status; + CreateFecfBool crypto_create_fecf; // Whether or not CryptoLib is expected to calculate TC FECFs and return // payloads with the FECF TcProcessSdlsPdus process_sdls_pdus; // Config to process SDLS extended procedure PDUs in CryptoLib - TcPusHdrPresent has_pus_hdr; - TcIgnoreSaState ignore_sa_state; // TODO - add logic that uses this configuration - TcIgnoreAntiReplay ignore_anti_replay; + TcPusHdrPresent has_pus_hdr; // For ESA Testing + IgnoreAntiReplay ignore_anti_replay; + TcIgnoreSaState ignore_sa_state; TcUniqueSaPerMapId unique_sa_per_mapid; CheckFecfBool crypto_check_fecf; uint8_t vcid_bitmask; uint8_t crypto_increment_nontransmitted_iv; // Whether or not CryptoLib increments the non-transmitted portion of // the IV field -} CryptoConfig_t; -#define CRYPTO_CONFIG_SIZE (sizeof(CryptoConfig_t)) +} __attribute__((packed)) CryptoConfigTC_t; +#define CRYPTO_TC_CONFIG_SIZE (sizeof(CryptoConfigTC_t)) + +typedef struct +{ + InitStatus init_status; + CreateFecfBool crypto_create_fecf; // Whether or not CryptoLib is expected to calculate TC FECFs and return + // payloads with the FECF + IgnoreAntiReplay ignore_anti_replay; + CheckFecfBool crypto_check_fecf; + uint8_t vcid_bitmask; + uint8_t crypto_increment_nontransmitted_iv; // Whether or not CryptoLib increments the non-transmitted portion of + // the IV field +} __attribute__((packed)) CryptoConfigTM_t; +#define CRYPTO_TM_CONFIG_SIZE (sizeof(CryptoConfigTM_t)) -typedef struct _GvcidManagedParameters_t GvcidManagedParameters_t; -struct _GvcidManagedParameters_t +typedef struct +{ + InitStatus init_status; + CreateFecfBool crypto_create_fecf; // Whether or not CryptoLib is expected to calculate TC FECFs and return + // payloads with the FECF + IgnoreAntiReplay ignore_anti_replay; + CheckFecfBool crypto_check_fecf; + uint8_t vcid_bitmask; + uint8_t crypto_increment_nontransmitted_iv; // Whether or not CryptoLib increments the non-transmitted portion of + // the IV field +} __attribute__((packed)) CryptoConfigAOS_t; +#define CRYPTO_AOS_CONFIG_SIZE (sizeof(CryptoConfigAOS_t)) + +typedef struct _TCGvcidManagedParameters_t TCGvcidManagedParameters_t; +struct _TCGvcidManagedParameters_t { uint8_t tfvn : 4; // Transfer Frame Version Number uint16_t scid : 10; // SpacecraftID uint8_t vcid : 6; // Virtual Channel ID FecfPresent has_fecf; + TcSegmentHdrsPresent has_segmentation_hdr; + uint16_t max_frame_size; // Maximum TC/TM Frame Length with headers + int set_flag; +} __attribute__((packed)); +#define TC_GVCID_MANAGED_PARAMETERS_SIZE (sizeof(TCGvcidManagedParameters_t)) + +typedef struct _TMGvcidManagedParameters_t TMGvcidManagedParameters_t; +struct _TMGvcidManagedParameters_t +{ + uint8_t tfvn : 2; // Transfer Frame Version Number + uint16_t scid : 10; // SpacecraftID + uint8_t vcid : 3; // Virtual Channel ID + FecfPresent has_fecf; + uint16_t max_frame_size; // Maximum TC/TM Frame Length with headers + OcfPresent has_ocf; + int set_flag; +} __attribute__((packed)); +#define TM_GVCID_MANAGED_PARAMETERS_SIZE (sizeof(TMGvcidManagedParameters_t)) + +typedef struct _AOSGvcidManagedParameters_t AOSGvcidManagedParameters_t; +struct _AOSGvcidManagedParameters_t +{ + uint8_t tfvn : 2; // Transfer Frame Version Number + uint8_t scid : 8; // SpacecraftID + uint8_t vcid : 6; // Virtual Channel ID + FecfPresent has_fecf; AosFhecPresent aos_has_fhec; AosInsertZonePresent aos_has_iz; uint16_t aos_iz_len; - TcSegmentHdrsPresent has_segmentation_hdr; uint16_t max_frame_size; // Maximum TC/TM Frame Length with headers OcfPresent has_ocf; int set_flag; -}; -#define GVCID_MANAGED_PARAMETERS_SIZE (sizeof(GvcidManagedParameters_t)) +} __attribute__((packed)); +#define AOS_GVCID_MANAGED_PARAMETERS_SIZE (sizeof(AOSGvcidManagedParameters_t)) /* ** SaDB MariaDB Configuration Block diff --git a/include/crypto_print.h b/include/crypto_print.h index dcf087ea..11f986d2 100644 --- a/include/crypto_print.h +++ b/include/crypto_print.h @@ -100,6 +100,6 @@ void Crypto_binprint(void *c, size_t n); * @param managed_parameters: GvcidManagedParameters_t*, The binary array to be printed. * @param print_children: uint8_t, The size of the array to be printed. **/ -void Crypto_mpPrint(GvcidManagedParameters_t *managed_parameters, uint8_t print_children); +// void Crypto_mpPrint(GvcidManagedParameters_t *managed_parameters, uint8_t print_children); #endif // CRYPTO_PRINT_H diff --git a/include/crypto_structs.h b/include/crypto_structs.h index 4342fb96..ca35d16a 100644 --- a/include/crypto_structs.h +++ b/include/crypto_structs.h @@ -573,12 +573,12 @@ typedef struct */ typedef struct { - uint8_t tfvn : 2; // Transfer Frame Version Number - // Shall be set to '01' (732.0b4 Section 4.1.2.2.2) - uint16_t scid : 8; // Spacecraft ID - uint8_t vcid : 6; // Virtual Channel ID - // To be all zeros if only one VC used (732.0b4 Section 4.1.2.3) - long vcfc : 24; // Virtual Channel Frame Count (modulo-16,777,216) + uint8_t tfvn : 2; // Transfer Frame Version Number + // Shall be set to '01' (732.0b4 Section 4.1.2.2.2) + uint8_t scid : 8; // Spacecraft ID + uint8_t vcid : 6; // Virtual Channel ID + // To be all zeros if only one VC used (732.0b4 Section 4.1.2.3) + long vcfc : 24; // Virtual Channel Frame Count (modulo-16,777,216) /* Begin TF Signalling Field */ uint8_t rf : 1; // Replay Flag uint8_t sf : 1; // VC Frame Count Usgae Flag diff --git a/src/core/crypto.c b/src/core/crypto.c index 0833b726..21b3a3e3 100644 --- a/src/core/crypto.c +++ b/src/core/crypto.c @@ -136,6 +136,79 @@ uint8_t Crypto_Is_AEAD_Algorithm(uint32_t cipher_suite_id) return status; } +/** + * @brief Function: crypto_handle_incrementing_nontransmitted_counter + * Handles incrementing non-transmitted counters + * @param dest: uint8_t* + * @param src: uint8_t* + * @param src_full_len: int + * @param transmitted_len: int + * @param window: int + * @return int32: Success/Failure + * + * CCSDS Compliance: CCSDS 355.0-B-2 Section 6.1.2 (Anti-replay Processing) + **/ +int32_t crypto_handle_incrementing_nontransmitted_counter(uint8_t *dest, uint8_t *src, int src_full_len, + int transmitted_len, int window) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + + /* Note: This assumes a max IV / ARSN size of 32. If a larger value is needed, adjust in crypto_config.h*/ + if (src_full_len > + MAX_IV_LEN) // TODO: Does a define exist already? Is this the best method to put a bound on IV/ARSN Size? + { + status = CRYPTO_LIB_ERR_IV_EXCEEDS_INCREMENT_SIZE; + } + + if (status == CRYPTO_LIB_SUCCESS) + { + uint8_t temp_counter[MAX_IV_LEN]; + // Copy IV to temp + memcpy(temp_counter, src, src_full_len); + + // Increment temp_counter Until Transmitted Portion Matches Frame. + uint8_t counter_matches = CRYPTO_TRUE; + for (int i = 0; i < window; i++) + { + Crypto_increment(temp_counter, src_full_len); + for (int x = (src_full_len - transmitted_len); x < src_full_len; x++) + { + // This increment doesn't match the frame! + if (temp_counter[x] != dest[x]) + { + counter_matches = CRYPTO_FALSE; + break; + } + } + if (counter_matches == CRYPTO_TRUE) + { + break; + } + else if (i < window - 1) // Only reset flag if there are more windows to check. + { + counter_matches = CRYPTO_TRUE; // reset the flag, and continue the for loop for the next + continue; + } + } + + if (counter_matches == CRYPTO_TRUE) + { + // Retrieve non-transmitted portion of incremented counter that matches (and may have rolled + // over/incremented) + memcpy(dest, temp_counter, src_full_len - transmitted_len); +#ifdef DEBUG + printf("Incremented IV is:\n"); + Crypto_hexprint(temp_counter, src_full_len); +#endif + } + else + { + status = CRYPTO_LIB_ERR_FRAME_COUNTER_DOESNT_MATCH_SA; + } + } + return status; +} + /** * @brief Function: Crypto_Is_ACS_Only_Algo * Looks up cipher suite ID and determines if it's an ACS algorithm. Returns 1 if true, 0 if false; @@ -309,7 +382,7 @@ uint8_t Crypto_Prep_Reply(uint8_t *reply, uint8_t appID) reply[count++] = (sdls_frame.hdr.pkt_length & 0xFF00) >> 8; reply[count++] = (sdls_frame.hdr.pkt_length & 0x00FF); - if (crypto_config.has_pus_hdr == TC_HAS_PUS_HDR) + if (crypto_config_tc.has_pus_hdr == TC_HAS_PUS_HDR) { // Fill reply with PUS reply[count++] = (sdls_frame.pus.shf << 7) | (sdls_frame.pus.pusv << 4) | (sdls_frame.pus.ack); @@ -831,29 +904,97 @@ int32_t Crypto_USER_DEFINED_CMD(uint8_t *ingest) } /** - * @brief Function: Crypto_Get_Managed_Parameters_For_Gvcid + * @brief Function: Crypto_Get_TC_Managed_Parameters_For_Gvcid * @param tfvn: uint8_t * @param scid: uint16_t * @param vcid: uint8_t - * @param managed_parameters_in: GvcidManagedParameters_t* - * @param managed_parameters_out: GvcidManagedParameters_t* + * @param managed_parameters_in: TCGvcidManagedParameters_t* + * @param managed_parameters_out: TCGvcidManagedParameters_t* * @return int32: Success/Failure * * CCSDS Compliance: CCSDS 355.0-B-2 Section 2.4 (Managed Parameters) **/ -int32_t Crypto_Get_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, - GvcidManagedParameters_t *managed_parameters_in, - GvcidManagedParameters_t *managed_parameters_out) +int32_t Crypto_Get_TC_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, + TCGvcidManagedParameters_t *managed_parameters_in, + TCGvcidManagedParameters_t *managed_parameters_out) { int32_t status = MANAGED_PARAMETERS_FOR_GVCID_NOT_FOUND; // Check gvcid counter against a max - if (gvcid_counter > NUM_GVCID) + if (tc_gvcid_counter > NUM_GVCID) { status = CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT; } if (status != CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT) { - for (int i = 0; i < gvcid_counter; i++) + for (int i = 0; i < tc_gvcid_counter; i++) + { + if (managed_parameters_in[i].tfvn == tfvn && managed_parameters_in[i].scid == scid && + managed_parameters_in[i].vcid == vcid) + { + *managed_parameters_out = managed_parameters_in[i]; + status = CRYPTO_LIB_SUCCESS; + break; + } + } + + if (status != CRYPTO_LIB_SUCCESS) + { +#ifdef DEBUG + printf(KRED "Error: Managed Parameters for GVCID(TFVN: %d, SCID: %d, VCID: %d) not found. \n" RESET, tfvn, + scid, vcid); +#endif + } + } + return status; +} + +int32_t Crypto_Get_TM_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, + TMGvcidManagedParameters_t *managed_parameters_in, + TMGvcidManagedParameters_t *managed_parameters_out) +{ + int32_t status = MANAGED_PARAMETERS_FOR_GVCID_NOT_FOUND; + // Check gvcid counter against a max + if (tm_gvcid_counter > NUM_GVCID) + { + status = CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT; + } + if (status != CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT) + { + for (int i = 0; i < tm_gvcid_counter; i++) + { + if (managed_parameters_in[i].tfvn == tfvn && managed_parameters_in[i].scid == scid && + managed_parameters_in[i].vcid == vcid) + { + *managed_parameters_out = managed_parameters_in[i]; + status = CRYPTO_LIB_SUCCESS; + break; + } + } + + if (status != CRYPTO_LIB_SUCCESS) + { +#ifdef DEBUG + printf(KRED "Error: Managed Parameters for GVCID(TFVN: %d, SCID: %d, VCID: %d) not found. \n" RESET, tfvn, + scid, vcid); +#endif + } + } + return status; +} + +int32_t Crypto_Get_AOS_Managed_Parameters_For_Gvcid(uint8_t tfvn, uint16_t scid, uint8_t vcid, + AOSGvcidManagedParameters_t *managed_parameters_in, + AOSGvcidManagedParameters_t *managed_parameters_out) +{ + int32_t status = MANAGED_PARAMETERS_FOR_GVCID_NOT_FOUND; + // Check gvcid counter against a max + if (aos_gvcid_counter > NUM_GVCID) + { + status = CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT; + } + if (status != CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT) + { + for (int i = 0; i < aos_gvcid_counter; i++) { if (managed_parameters_in[i].tfvn == tfvn && managed_parameters_in[i].scid == scid && managed_parameters_in[i].vcid == vcid) @@ -933,7 +1074,7 @@ int32_t Crypto_Process_Extended_Procedure_Pdu(TC_t *tc_sdls_processed_frame, uin (tc_sdls_processed_frame->tc_pdu[4] << 8) | tc_sdls_processed_frame->tc_pdu[5]; // Using PUS Header - if (crypto_config.has_pus_hdr == TC_HAS_PUS_HDR) + if (crypto_config_tc.has_pus_hdr == TC_HAS_PUS_HDR) { // If ECSS PUS Header is being used sdls_frame.pus.shf = (tc_sdls_processed_frame->tc_pdu[6] & 0x80) >> 7; @@ -1133,7 +1274,7 @@ int32_t Crypto_Check_Anti_Replay_Verify_Pointers(SecurityAssociation_t *sa_ptr, status = CRYPTO_LIB_ERR_NULL_ARSN; return status; } - if (iv == NULL && sa_ptr->shivf_len > 0 && crypto_config.cryptography_type != CRYPTOGRAPHY_TYPE_KMCCRYPTO) + if (iv == NULL && sa_ptr->shivf_len > 0 && crypto_config_global.cryptography_type != CRYPTOGRAPHY_TYPE_KMCCRYPTO) { status = CRYPTO_LIB_ERR_NULL_IV; return status; @@ -1203,7 +1344,8 @@ int32_t Crypto_Check_Anti_Replay_ARSNW(SecurityAssociation_t *sa_ptr, uint8_t *a * * CCSDS Compliance: CCSDS 355.0-B-2 Section 6.1.2 (Anti-replay Processing) **/ -int32_t Crypto_Check_Anti_Replay_GCM(SecurityAssociation_t *sa_ptr, uint8_t *iv, int8_t *iv_valid) +int32_t Crypto_Check_Anti_Replay_GCM(SecurityAssociation_t *sa_ptr, uint8_t *iv, int8_t *iv_valid, + uint8_t increment_nontransmitted) { int32_t status = CRYPTO_LIB_SUCCESS; if ((sa_ptr->iv_len > 0) && (sa_ptr->ecs == CRYPTO_CIPHER_AES256_GCM)) @@ -1215,8 +1357,11 @@ int32_t Crypto_Check_Anti_Replay_GCM(SecurityAssociation_t *sa_ptr, uint8_t *iv, } if (status == CRYPTO_LIB_SUCCESS) { +#ifdef DEBUG + printf("Increment Nontransmitted IV? %d\n", increment_nontransmitted); +#endif // Check IV is in ARSNW - if (crypto_config.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) + if (increment_nontransmitted == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) { status = Crypto_window(iv, sa_ptr->iv, sa_ptr->iv_len, sa_ptr->arsnw); } @@ -1265,11 +1410,13 @@ int32_t Crypto_Check_Anti_Replay_GCM(SecurityAssociation_t *sa_ptr, uint8_t *iv, * * CCSDS Compliance: CCSDS 355.0-B-2 Section 6.1.2 (Anti-replay Processing) **/ -int32_t Crypto_Check_Anti_Replay(SecurityAssociation_t *sa_ptr, uint8_t *arsn, uint8_t *iv) +int32_t Crypto_Check_Anti_Replay(SecurityAssociation_t *sa_ptr, uint8_t *arsn, uint8_t *iv, + uint8_t increment_nontransmitted) { - int32_t status = CRYPTO_LIB_SUCCESS; - int8_t iv_valid = -1; - int8_t arsn_valid = -1; + int32_t status = CRYPTO_LIB_SUCCESS; + int8_t iv_valid = -1; + int8_t arsn_valid = -1; + increment_nontransmitted = increment_nontransmitted; // Check for NULL pointers status = Crypto_Check_Anti_Replay_Verify_Pointers(sa_ptr, arsn, iv); @@ -1283,7 +1430,7 @@ int32_t Crypto_Check_Anti_Replay(SecurityAssociation_t *sa_ptr, uint8_t *arsn, u // If IV is greater than zero and using GCM, check for replay if (status == CRYPTO_LIB_SUCCESS) { - status = Crypto_Check_Anti_Replay_GCM(sa_ptr, iv, &iv_valid); + status = Crypto_Check_Anti_Replay_GCM(sa_ptr, iv, &iv_valid, increment_nontransmitted); } // For GCM specifically, if have a valid IV... @@ -1394,9 +1541,6 @@ int32_t Crypto_Get_Security_Header_Length(SecurityAssociation_t *sa_ptr) { /* Narrator's Note: Leaving this here for future work ** eventually we need a way to reconcile cryptolib managed parameters with TO managed parameters - GvcidManagedParameters_t* temp_current_managed_parameters = NULL; - Crypto_Get_Managed_Parameters_For_Gvcid(tfvn, scid, vcid, - gvcid_managed_parameters, temp_current_managed_parameters); */ if (!sa_ptr) diff --git a/src/core/crypto_aos.c b/src/core/crypto_aos.c index d0cf9684..de27b84f 100644 --- a/src/core/crypto_aos.c +++ b/src/core/crypto_aos.c @@ -79,7 +79,8 @@ int32_t Crypto_AOS_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) return CRYPTO_LIB_ERR_NULL_BUFFER; } - if ((crypto_config.init_status == UNITIALIZED) || (mc_if == NULL) || (sa_if == NULL)) + if ((crypto_config_global.init_status == UNINITIALIZED) || (crypto_config_aos.init_status == UNINITIALIZED) || + (mc_if == NULL) || (sa_if == NULL)) { printf(KRED "ERROR: CryptoLib Configuration Not Set! -- CRYPTO_LIB_ERR_NO_CONFIG, Will Exit\n" RESET); status = CRYPTO_LIB_ERR_NO_CONFIG; @@ -106,7 +107,7 @@ int32_t Crypto_AOS_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) printf("\n"); #endif - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_AOS_TABLE_NAME; } @@ -122,8 +123,8 @@ int32_t Crypto_AOS_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) return status; } - status = Crypto_Get_Managed_Parameters_For_Gvcid(tfvn, scid, vcid, gvcid_managed_parameters_array, - &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(tfvn, scid, vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // No managed parameters found if (status != CRYPTO_LIB_SUCCESS) @@ -484,7 +485,7 @@ int32_t Crypto_AOS_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) // Get Key crypto_key_t *ekp = NULL; crypto_key_t *akp = NULL; - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { ekp = key_if->get_key(sa_ptr->ekid); akp = key_if->get_key(sa_ptr->akid); @@ -662,62 +663,56 @@ int32_t Crypto_AOS_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) if (sa_service_type != SA_PLAINTEXT) { - // Implement proper anti-replay sequence number handling per CCSDS 355.0-B-2 - if (sa_ptr->shsnf_len > 0) +#ifdef INCREMENT + if (crypto_config_aos.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) { - // Section 4.2.5 of CCSDS 355.0-B-2: Sequence numbers shall be incremented by one for each frame - Crypto_increment(sa_ptr->arsn, sa_ptr->arsn_len); - - // Check for sequence number rollover - int is_all_zeros = CRYPTO_TRUE; - for (i = 0; i < sa_ptr->arsn_len; i++) + if (sa_ptr->shivf_len > 0 && sa_ptr->iv_len != 0) { - if (*(sa_ptr->arsn + i) != 0) - { - is_all_zeros = CRYPTO_FALSE; - break; - } + status = Crypto_increment(sa_ptr->iv, sa_ptr->iv_len); } - - // Section 4.2.5.3: If a rollover is detected, SA must be re-established - if (is_all_zeros) + } + else // SA_INCREMENT_NONTRANSMITTED_IV_FALSE + { + // Only increment the transmitted portion + if (sa_ptr->shivf_len > 0 && sa_ptr->iv_len != 0) { -#ifdef SA_DEBUG - printf(KRED "ARSN has rolled over! SA should be re-established.\n" RESET); -#endif - // Mark the SA for rekeying - sa_ptr->sa_state = SA_NONE; + status = Crypto_increment(sa_ptr->iv + (sa_ptr->iv_len - sa_ptr->shivf_len), sa_ptr->shivf_len); } } + if (sa_ptr->shsnf_len > 0 && status == CRYPTO_LIB_SUCCESS) + { + status = Crypto_increment(sa_ptr->arsn, sa_ptr->arsn_len); + } #ifdef SA_DEBUG if (sa_ptr->iv_len > 0) { printf(KYEL "Next IV value is:\n\t"); - for (i = 0; i < sa_ptr->iv_len; i++) + for (int i = 0; i < sa_ptr->iv_len; i++) { printf("%02x", *(sa_ptr->iv + i)); } printf("\n" RESET); printf(KYEL "Next transmitted IV value is:\n\t"); - for (i = sa_ptr->iv_len - sa_ptr->shivf_len; i < sa_ptr->iv_len; i++) + for (int i = sa_ptr->iv_len - sa_ptr->shivf_len; i < sa_ptr->iv_len; i++) { printf("%02x", *(sa_ptr->iv + i)); } printf("\n" RESET); } printf(KYEL "Next ARSN value is:\n\t"); - for (i = 0; i < sa_ptr->arsn_len; i++) + for (int i = 0; i < sa_ptr->arsn_len; i++) { printf("%02x", *(sa_ptr->arsn + i)); } printf("\n" RESET); printf(KYEL "Next transmitted ARSN value is:\n\t"); - for (i = sa_ptr->arsn_len - sa_ptr->shsnf_len; i < sa_ptr->arsn_len; i++) + for (int i = sa_ptr->arsn_len - sa_ptr->shsnf_len; i < sa_ptr->arsn_len; i++) { printf("%02x", *(sa_ptr->arsn + i)); } printf("\n" RESET); +#endif #endif } @@ -772,7 +767,7 @@ int32_t Crypto_AOS_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) #ifdef FECF_DEBUG printf(KCYN "Calcing FECF over %d bytes\n" RESET, aos_current_managed_parameters_struct.max_frame_size - 2); #endif - if (crypto_config.crypto_create_fecf == CRYPTO_AOS_CREATE_FECF_TRUE) + if (crypto_config_aos.crypto_create_fecf == CRYPTO_AOS_CREATE_FECF_TRUE) { new_fecf = Crypto_Calc_FECF((uint8_t *)pTfBuffer, aos_current_managed_parameters_struct.max_frame_size - 2); pTfBuffer[aos_current_managed_parameters_struct.max_frame_size - 2] = (uint8_t)((new_fecf & 0xFF00) >> 8); @@ -804,6 +799,90 @@ int32_t Crypto_AOS_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) return status; } +// int32_t Crypto_AOS_Nontransmitted_IV_Increment(SecurityAssociation_t *sa_ptr, AOS_t *pp_processed_frame) +// { +// int32_t status = CRYPTO_LIB_SUCCESS; + +// if (sa_ptr->shivf_len < sa_ptr->iv_len && crypto_config_aos.ignore_anti_replay == AOS_IGNORE_ANTI_REPLAY_FALSE && +// crypto_config_aos.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) +// { +// status = crypto_handle_incrementing_nontransmitted_counter( +// pp_processed_frame->aos_sec_header.iv, sa_ptr->iv, sa_ptr->iv_len, sa_ptr->shivf_len, sa_ptr->arsnw); +// if (status != CRYPTO_LIB_SUCCESS) +// { +// mc_if->mc_log(status); +// return status; +// } +// } +// else // Not checking IV ARSNW or only non-transmitted portion is static; Note, non-transmitted IV in SA must +// match +// // frame or will fail MAC check. +// { +// // Retrieve non-transmitted portion of IV from SA (if applicable) +// memcpy(pp_processed_frame->aos_sec_header.iv, sa_ptr->iv, sa_ptr->iv_len - sa_ptr->shivf_len); +// } +// return status; +// } + +// int32_t Crypto_AOS_Nontransmitted_SN_Increment(SecurityAssociation_t *sa_ptr, AOS_t *pp_processed_frame) +// { +// int32_t status = CRYPTO_LIB_SUCCESS; +// if (sa_ptr->shsnf_len < sa_ptr->arsn_len && crypto_config_aos.ignore_anti_replay == AOS_IGNORE_ANTI_REPLAY_FALSE) +// { +// status = +// crypto_handle_incrementing_nontransmitted_counter(pp_processed_frame->aos_sec_header.sn, sa_ptr->arsn, +// sa_ptr->arsn_len, sa_ptr->shsnf_len, sa_ptr->arsnw); +// if (status != CRYPTO_LIB_SUCCESS) +// { +// mc_if->mc_log(status); +// } +// } +// else // Not checking ARSN in ARSNW +// { +// // Parse non-transmitted portion of ARSN from SA +// memcpy(pp_processed_frame->aos_sec_header.sn, sa_ptr->arsn, sa_ptr->arsn_len - sa_ptr->shsnf_len); +// } +// return status; +// } + +int32_t Crypto_AOS_Check_IV_ARSN(SecurityAssociation_t *sa_ptr, AOS_t *pp_processed_frame) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + + if (crypto_config_aos.ignore_anti_replay == AOS_IGNORE_ANTI_REPLAY_FALSE) + { + status = Crypto_Check_Anti_Replay(sa_ptr, pp_processed_frame->aos_sec_header.sn, + pp_processed_frame->aos_sec_header.iv, + crypto_config_aos.crypto_increment_nontransmitted_iv); + + if (status != CRYPTO_LIB_SUCCESS) + { + mc_if->mc_log(status); + } + if (status == CRYPTO_LIB_SUCCESS) // else + { + // Only save the SA (IV/ARSN) if checking the anti-replay counter; Otherwise we don't update. + status = sa_if->sa_save_sa(sa_ptr); + if (status != CRYPTO_LIB_SUCCESS) + { + mc_if->mc_log(status); + } + } + } + else + { + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) + { + if (sa_ptr->ek_ref[0] != '\0') + clean_ekref(sa_ptr); + if (sa_ptr->ak_ref[0] != '\0') + clean_akref(sa_ptr); + free(sa_ptr); + } + } + return status; +} + /** * @brief Function: Crypto_AOS_ProcessSecurity * @param ingest: uint8_t* @@ -832,9 +911,9 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t uint8_t aos_hdr_len = 6; // Bit math to give concise access to values in the ingest - aos_frame_pri_hdr.tfvn = ((uint8_t)p_ingest[0] & 0xC0) >> 6; - aos_frame_pri_hdr.scid = (((uint16_t)p_ingest[0] & 0x3F) << 2) | (((uint16_t)p_ingest[1] & 0xC0) >> 6); - aos_frame_pri_hdr.vcid = ((uint8_t)p_ingest[1] & 0x3F); + pp_processed_frame->aos_header.tfvn = ((uint8_t)p_ingest[0] & 0xC0) >> 6; + pp_processed_frame->aos_header.scid = (((uint16_t)p_ingest[0] & 0x3F) << 2) | (((uint16_t)p_ingest[1] & 0xC0) >> 6); + pp_processed_frame->aos_header.vcid = ((uint8_t)p_ingest[1] & 0x3F); #ifdef DEBUG printf(KYEL "\n----- Crypto_AOS_ProcessSecurity START -----\n" RESET); @@ -847,7 +926,8 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t return status; } - if ((crypto_config.init_status == UNITIALIZED) || (mc_if == NULL) || (sa_if == NULL)) + if ((crypto_config_global.init_status == UNINITIALIZED) || (crypto_config_aos.init_status == UNINITIALIZED) || + (mc_if == NULL) || (sa_if == NULL)) { #ifdef AOS_DEBUG printf(KRED "ERROR: CryptoLib Configuration Not Set! -- CRYPTO_LIB_ERR_NO_CONFIG, Will Exit\n" RESET); @@ -871,14 +951,14 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t #ifdef AOS_DEBUG printf(KGRN "AOS Process Using following parameters:\n\t" RESET); - printf(KGRN "tvfn: %d\t scid: %d\t vcid: %d\n" RESET, aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, - aos_frame_pri_hdr.vcid); + printf(KGRN "tvfn: %d\t scid: %d\t vcid: %d\n" RESET, pp_processed_frame->aos_header.tfvn, + pp_processed_frame->aos_header.scid, pp_processed_frame->aos_header.vcid); #endif // Lookup-retrieve managed parameters for frame via gvcid: - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid( + pp_processed_frame->aos_header.tfvn, pp_processed_frame->aos_header.scid, pp_processed_frame->aos_header.vcid, + aos_gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); if (status != CRYPTO_LIB_SUCCESS) { @@ -948,7 +1028,9 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t // Move index to past the SPI byte_idx += 2; - if (crypto_config.sa_type == SA_TYPE_MARIADB) + pp_processed_frame->aos_sec_header.spi = spi; + + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_AOS_TABLE_NAME; } @@ -960,6 +1042,12 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t return status; } + if (len_ingest < + aos_hdr_len + Crypto_Get_Security_Header_Length(sa_ptr) + Crypto_Get_Security_Trailer_Length(sa_ptr)) + { + return CRYPTO_LIB_ERR_AOS_FRAME_LENGTH_UNDERFLOW; + } + #ifdef SA_DEBUG printf(KYEL "DEBUG - Printing SA Entry for current frame.\n" RESET); Crypto_saPrint(sa_ptr); @@ -1046,22 +1134,23 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t // Parse & Check FECF, if present, and update fecf length if (aos_current_managed_parameters_struct.has_fecf == AOS_HAS_FECF) { - uint16_t received_fecf = (((p_ingest[aos_current_managed_parameters_struct.max_frame_size - 2] << 8) & 0xFF00) | - (p_ingest[aos_current_managed_parameters_struct.max_frame_size - 1] & 0x00FF)); + uint16_t received_fecf = (((p_ingest[len_ingest - 2] << 8) & 0xFF00) | (p_ingest[len_ingest - 1] & 0x00FF)); +#ifdef FECF_DEBUG + printf("Received FECF is 0x%04X\n", received_fecf); +#endif - if (crypto_config.crypto_check_fecf == AOS_CHECK_FECF_TRUE) + if (crypto_config_aos.crypto_check_fecf == AOS_CHECK_FECF_TRUE) { // Calculate our own uint16_t calculated_fecf = Crypto_Calc_FECF(p_ingest, len_ingest - 2); +#ifdef FECF_DEBUG + printf("Calculated FECF is 0x%04X\n", calculated_fecf); + printf("FECF was Calced over %d bytes\n", len_ingest - 2); +#endif // Compare FECFs // Invalid FECF if (received_fecf != calculated_fecf) { -#ifdef FECF_DEBUG - printf("Received FECF is 0x%04X\n", received_fecf); - printf("Calculated FECF is 0x%04X\n", calculated_fecf); - printf("FECF was Calced over %d bytes\n", len_ingest - 2); -#endif status = CRYPTO_LIB_ERR_INVALID_FECF; mc_if->mc_log(status); return status; @@ -1072,6 +1161,7 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t #ifdef FECF_DEBUG printf(KYEL "FECF CALC MATCHES! - GOOD\n" RESET); #endif + pp_processed_frame->aos_sec_trailer.fecf = received_fecf; } } } @@ -1124,8 +1214,15 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t iv_loc = byte_idx; } // Increment byte_idx past Security Header Fields based on SA values + memcpy((pp_processed_frame->aos_sec_header.iv + (sa_ptr->iv_len - sa_ptr->shivf_len)), &(p_ingest[byte_idx]), + sa_ptr->shivf_len); byte_idx += sa_ptr->shivf_len; + + memcpy((pp_processed_frame->aos_sec_header.sn + (sa_ptr->arsn_len - sa_ptr->shsnf_len)), &(p_ingest[byte_idx]), + sa_ptr->shsnf_len); byte_idx += sa_ptr->shsnf_len; + + memcpy(&(pp_processed_frame->aos_sec_header.pad), &(p_ingest[byte_idx]), sa_ptr->shplf_len); byte_idx += sa_ptr->shplf_len; #ifdef SA_DEBUG @@ -1170,10 +1267,17 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t pdu_len -= 2; } + if (pdu_len >= aos_current_managed_parameters_struct.max_frame_size) + { + return CRYPTO_LIB_ERR_AOS_FRAME_LENGTH_UNDERFLOW; + } + // If MAC exists, comes immediately after pdu if (sa_ptr->stmacf_len > 0) { mac_loc = byte_idx + pdu_len; + memcpy((pp_processed_frame->aos_sec_trailer.mac + (MAC_SIZE - sa_ptr->stmacf_len)), &(p_ingest[mac_loc]), + sa_ptr->stmacf_len); } Crypto_Set_FSR(p_ingest, byte_idx, pdu_len, sa_ptr); @@ -1192,13 +1296,35 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t } #endif + // // Increment IV/ARSN + // memcpy((pp_processed_frame->aos_sec_header.iv + (sa_ptr->iv_len - sa_ptr->shivf_len)), + // &(p_ingest[aos_hdr_len + SPI_LEN]), sa_ptr->shivf_len); + + // // Handle non-transmitted IV increment case (transmitted-portion roll-over) + // status = Crypto_AOS_Nontransmitted_IV_Increment(sa_ptr, pp_processed_frame); + // if (status != CRYPTO_LIB_SUCCESS) + // { + // return status; + // } + + // // Parse transmitted portion of ARSN + // memcpy((pp_processed_frame->aos_sec_header.sn + (sa_ptr->arsn_len - sa_ptr->shsnf_len)), + // &(p_ingest[aos_hdr_len + SPI_LEN + sa_ptr->shivf_len]), sa_ptr->shsnf_len); + + // // Handle non-transmitted SN increment case (transmitted-portion roll-over) + // status = Crypto_AOS_Nontransmitted_SN_Increment(sa_ptr, pp_processed_frame); + // if (status != CRYPTO_LIB_SUCCESS) + // { + // return status; + // } + // Get Key crypto_key_t *ekp = NULL; crypto_key_t *akp = NULL; if (sa_ptr->est == 1) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { ekp = key_if->get_key(sa_ptr->ekid); if (ekp == NULL) @@ -1219,7 +1345,7 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t } if (sa_ptr->ast == 1) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { akp = key_if->get_key(sa_ptr->akid); if (akp == NULL) @@ -1253,7 +1379,7 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t #endif if (sa_service_type == SA_AUTHENTICATED_ENCRYPTION) { - aad_len = byte_idx; + aad_len = iv_loc + sa_ptr->shivf_len; } else { @@ -1394,6 +1520,15 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t // byte_idx += pdu_len; // byte_idx no longer read } + // Now that MAC has been verified, check IV & ARSN if applicable + status = Crypto_AOS_Check_IV_ARSN(sa_ptr, pp_processed_frame); + if (status != CRYPTO_LIB_SUCCESS) + { + // Crypto_TC_Safe_Free_Ptr(aad); + mc_if->mc_log(status); + return status; // Cryptography IF call failed, return. + } + #ifdef AOS_DEBUG printf(KYEL "\nPrinting received frame:\n\t" RESET); for (int i = 0; i < aos_current_managed_parameters_struct.max_frame_size; i++) @@ -1444,20 +1579,19 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t byte_idx += aos_current_managed_parameters_struct.aos_iz_len; } - pp_processed_frame->aos_sec_header.spi = - (((uint16_t)p_new_dec_frame[byte_idx]) << 8) | ((uint16_t)p_new_dec_frame[byte_idx + 1]); + pp_processed_frame->aos_sec_header.spi = (((uint16_t)p_ingest[byte_idx]) << 8) | ((uint16_t)p_ingest[byte_idx + 1]); byte_idx += 2; for (int i = 0; i < sa_ptr->shivf_len; i++) { - memcpy(pp_processed_frame->aos_sec_header.iv + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->aos_sec_header.iv + i, &p_ingest[byte_idx + i], 1); } byte_idx += sa_ptr->shivf_len; pp_processed_frame->aos_sec_header.iv_field_len = sa_ptr->shivf_len; for (int i = 0; i < sa_ptr->shsnf_len; i++) { - memcpy(pp_processed_frame->aos_sec_header.sn + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->aos_sec_header.sn + i, &p_ingest[byte_idx + i], 1); } byte_idx += sa_ptr->shsnf_len; pp_processed_frame->aos_sec_header.sn_field_len = sa_ptr->shsnf_len; @@ -1477,7 +1611,7 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t // Security Trailer for (int i = 0; i < sa_ptr->stmacf_len; i++) { - memcpy(pp_processed_frame->aos_sec_trailer.mac + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->aos_sec_trailer.mac + i, &p_ingest[mac_loc + i], 1); } byte_idx += sa_ptr->stmacf_len; pp_processed_frame->aos_sec_trailer.mac_field_len = sa_ptr->stmacf_len; @@ -1486,7 +1620,7 @@ int32_t Crypto_AOS_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, AOS_t { for (int i = 0; i < OCF_SIZE; i++) { - memcpy(pp_processed_frame->aos_sec_trailer.ocf + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->aos_sec_trailer.ocf + i, &p_ingest[byte_idx + i], 1); } byte_idx += OCF_SIZE; pp_processed_frame->aos_sec_trailer.ocf_field_len = OCF_SIZE; diff --git a/src/core/crypto_config.c b/src/core/crypto_config.c index 64870fff..b020b03a 100644 --- a/src/core/crypto_config.c +++ b/src/core/crypto_config.c @@ -39,20 +39,46 @@ SaInterface sa_if = NULL; SadbMariaDBConfig_t *sa_mariadb_config = NULL; -CryptoConfig_t crypto_config; +// Assign Defaults to configs, not initialized until user calls config function +CryptoConfigGlobal_t crypto_config_global = { + UNINITIALIZED, KEY_TYPE_UNINITIALIZED, MC_TYPE_UNINITIALIZED, + SA_TYPE_UNINITIALIZED, CRYPTOGRAPHY_TYPE_UNINITIALIZED, IV_INTERNAL}; +CryptoConfigTC_t crypto_config_tc = {UNINITIALIZED, + CRYPTO_TC_CREATE_FECF_FALSE, + TC_PROCESS_SDLS_PDUS_FALSE, + TC_HAS_PUS_HDR, + TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, + TC_UNIQUE_SA_PER_MAP_ID_FALSE, + TC_CHECK_FECF_FALSE, + 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_FALSE}; +CryptoConfigTM_t crypto_config_tm = { + UNINITIALIZED, CRYPTO_TM_CREATE_FECF_FALSE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, + 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE}; +CryptoConfigAOS_t crypto_config_aos = { + UNINITIALIZED, CRYPTO_AOS_CREATE_FECF_FALSE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, + 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE}; CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config = NULL; CamConfig_t *cam_config = NULL; -GvcidManagedParameters_t gvcid_managed_parameters_array[GVCID_MAN_PARAM_SIZE]; -int gvcid_counter = 0; -GvcidManagedParameters_t gvcid_null_struct = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -GvcidManagedParameters_t tc_current_managed_parameters_struct = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -GvcidManagedParameters_t tm_current_managed_parameters_struct = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -GvcidManagedParameters_t aos_current_managed_parameters_struct = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +TCGvcidManagedParameters_t tc_gvcid_managed_parameters_array[GVCID_MAN_PARAM_SIZE]; +TMGvcidManagedParameters_t tm_gvcid_managed_parameters_array[GVCID_MAN_PARAM_SIZE]; +AOSGvcidManagedParameters_t aos_gvcid_managed_parameters_array[GVCID_MAN_PARAM_SIZE]; -// GvcidManagedParameters_t* gvcid_managed_parameters = NULL; -// GvcidManagedParameters_t* current_managed_parameters = NULL; +int tc_gvcid_counter = 0; +int tm_gvcid_counter = 0; +int aos_gvcid_counter = 0; + +TCGvcidManagedParameters_t tc_gvcid_null_struct = {0, 0, 0, 0, 0, 0, 0}; +TCGvcidManagedParameters_t tc_current_managed_parameters_struct = {0, 0, 0, 0, 0, 0, 0}; + +TMGvcidManagedParameters_t tm_gvcid_null_struct = {0, 0, 0, 0, 0, 0, 0}; +TMGvcidManagedParameters_t tm_current_managed_parameters_struct = {0, 0, 0, 0, 0, 0, 0}; + +AOSGvcidManagedParameters_t aos_gvcid_null_struct = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; +AOSGvcidManagedParameters_t aos_current_managed_parameters_struct = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; /** * @brief Function: crypto_free_config_structs @@ -74,35 +100,39 @@ int32_t Crypto_SC_Init(void) { int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + // TC - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); // TM - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x0003, 1, TM_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x0003, 1, TM_NO_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); TM_UT_Managed_Parameters.vcid = 4; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); TM_UT_Managed_Parameters.vcid = 5; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); // AOS - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 6, AOS_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 6, AOS_NO_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); SecurityAssociation_t *sa_ptr = NULL; - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TC_TABLE_NAME; } @@ -117,7 +147,7 @@ int32_t Crypto_SC_Init(void) sa_ptr->abm_len = ABM_SIZE; sa_ptr->shivf_len = 0; sa_ptr->iv_len = 0; - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TM_TABLE_NAME; } @@ -164,19 +194,19 @@ int32_t Crypto_Init_TC_Unit_Test(void) { int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TC Tests - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 4; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); return status; } @@ -190,21 +220,20 @@ int32_t Crypto_Init_TM_Unit_Test(void) { int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x0003, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x0003, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); TM_UT_Managed_Parameters.scid = 0x002c; TM_UT_Managed_Parameters.has_fecf = TM_NO_FECF; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); TM_UT_Managed_Parameters.scid = 0x0042; TM_UT_Managed_Parameters.has_ocf = TM_HAS_OCF; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); return status; @@ -219,21 +248,21 @@ int32_t Crypto_Init_AOS_Unit_Test(void) { int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); AOS_UT_Managed_Parameters.scid = 0x002c; AOS_UT_Managed_Parameters.has_fecf = AOS_NO_FECF; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); AOS_UT_Managed_Parameters.scid = 0x0042; AOS_UT_Managed_Parameters.has_ocf = AOS_HAS_OCF; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); return status; } @@ -243,20 +272,21 @@ int32_t Crypto_Init_AOS_Unit_Test(void) * * CCSDS Compliance: CCSDS 355.0-B-2 Section 7 (Management) */ -int32_t Crypto_Init_With_Configs(CryptoConfig_t *crypto_config_p, GvcidManagedParameters_t *gvcid_managed_parameters_p, +int32_t Crypto_Init_With_Configs(CryptoConfigGlobal_t *crypto_config_p, + TCGvcidManagedParameters_t *gvcid_managed_parameters_p, SadbMariaDBConfig_t *sa_mariadb_config_p, CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config_p) { int32_t status = CRYPTO_LIB_SUCCESS; if (crypto_config_p != NULL) { - memcpy(&crypto_config, crypto_config_p, CRYPTO_CONFIG_SIZE); - crypto_config.init_status = INITIALIZED; + memcpy(&crypto_config_global, crypto_config_p, CRYPTO_GLOBAL_CONFIG_SIZE); + crypto_config_global.init_status = INITIALIZED; } - gvcid_managed_parameters_array[0] = *gvcid_managed_parameters_p; - sa_mariadb_config = sa_mariadb_config_p; - cryptography_kmc_crypto_config = cryptography_kmc_crypto_config_p; - status = Crypto_Init(); + tc_gvcid_managed_parameters_array[0] = *gvcid_managed_parameters_p; + sa_mariadb_config = sa_mariadb_config_p; + cryptography_kmc_crypto_config = cryptography_kmc_crypto_config_p; + status = Crypto_Init(); return status; } @@ -269,13 +299,13 @@ int32_t Crypto_Init(void) { int32_t status = CRYPTO_LIB_SUCCESS; - if (crypto_config.init_status == UNITIALIZED) + if (crypto_config_global.init_status == UNINITIALIZED) { status = CRYPTO_CONFIGURATION_NOT_COMPLETE; printf(KRED "ERROR: CryptoLib must be configured before intializing!\n" RESET); return status; // No configuration set -- return! } - if (gvcid_managed_parameters_array[0].set_flag == 0) + if (tc_gvcid_counter == 0 && tm_gvcid_counter == 0 && aos_gvcid_counter == 0) { status = CRYPTO_MANAGED_PARAM_CONFIGURATION_NOT_COMPLETE; printf(KRED "ERROR: CryptoLib Managed Parameters must be configured before intializing!\n" RESET); @@ -285,7 +315,7 @@ int32_t Crypto_Init(void) /* Key Interface */ if (key_if == NULL) { - if (crypto_config.key_type == KEY_TYPE_CUSTOM) + if (crypto_config_global.key_type == KEY_TYPE_CUSTOM) { key_if = get_key_interface_custom(); if (key_if == NULL) @@ -293,7 +323,7 @@ int32_t Crypto_Init(void) return CRYPTO_LIB_ERROR; } } - else if (crypto_config.key_type == KEY_TYPE_INTERNAL) + else if (crypto_config_global.key_type == KEY_TYPE_INTERNAL) { key_if = get_key_interface_internal(); if (key_if == NULL) @@ -301,7 +331,7 @@ int32_t Crypto_Init(void) return CRYPTO_LIB_ERROR; } } - else if (crypto_config.key_type == KEY_TYPE_KMC) + else if (crypto_config_global.key_type == KEY_TYPE_KMC) { key_if = get_key_interface_kmc(); if (key_if == NULL) @@ -323,7 +353,7 @@ int32_t Crypto_Init(void) /* MC Interface */ if (mc_if == NULL) { - if (crypto_config.mc_type == MC_TYPE_CUSTOM) + if (crypto_config_global.mc_type == MC_TYPE_CUSTOM) { mc_if = get_mc_interface_custom(); if (mc_if == NULL) @@ -331,7 +361,7 @@ int32_t Crypto_Init(void) return CRYPTO_LIB_ERROR; } } - else if (crypto_config.mc_type == MC_TYPE_DISABLED) + else if (crypto_config_global.mc_type == MC_TYPE_DISABLED) { mc_if = get_mc_interface_disabled(); if (mc_if == NULL) @@ -339,7 +369,7 @@ int32_t Crypto_Init(void) return CRYPTO_LIB_ERROR; } } - else if (crypto_config.mc_type == MC_TYPE_INTERNAL) + else if (crypto_config_global.mc_type == MC_TYPE_INTERNAL) { mc_if = get_mc_interface_internal(); if (mc_if == NULL) @@ -362,7 +392,7 @@ int32_t Crypto_Init(void) if (sa_if == NULL) { // Prepare SA type from config - if (crypto_config.sa_type == SA_TYPE_CUSTOM) + if (crypto_config_global.sa_type == SA_TYPE_CUSTOM) { sa_if = get_sa_interface_custom(); if (sa_if == NULL) @@ -370,7 +400,7 @@ int32_t Crypto_Init(void) return CRYPTO_LIB_ERROR; } } - else if (crypto_config.sa_type == SA_TYPE_INMEMORY) + else if (crypto_config_global.sa_type == SA_TYPE_INMEMORY) { sa_if = get_sa_interface_inmemory(); if (sa_if == NULL) @@ -378,7 +408,7 @@ int32_t Crypto_Init(void) return CRYPTO_LIB_ERROR; } } - else if (crypto_config.sa_type == SA_TYPE_MARIADB) + else if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { if (sa_mariadb_config == NULL) { @@ -403,19 +433,19 @@ int32_t Crypto_Init(void) // Determine which cryptographic module is in use if (cryptography_if == NULL) { - if (crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) + if (crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) { cryptography_if = get_cryptography_interface_libgcrypt(); } - else if (crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_WOLFSSL) + else if (crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_WOLFSSL) { cryptography_if = get_cryptography_interface_wolfssl(); } - else if (crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_CUSTOM) + else if (crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_CUSTOM) { cryptography_if = get_cryptography_interface_custom(); } - else if (crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_KMCCRYPTO) + else if (crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_KMCCRYPTO) { if (cryptography_kmc_crypto_config != NULL) { @@ -516,15 +546,27 @@ int32_t Crypto_Shutdown(void) int32_t status = CRYPTO_LIB_SUCCESS; // current_managed_parameters = NULL; - tc_current_managed_parameters_struct = gvcid_null_struct; - tm_current_managed_parameters_struct = gvcid_null_struct; - aos_current_managed_parameters_struct = gvcid_null_struct; - for (int i = 0; i <= gvcid_counter; i++) + tc_current_managed_parameters_struct = tc_gvcid_null_struct; + for (int i = 0; i <= tc_gvcid_counter; i++) + { + tc_gvcid_managed_parameters_array[i] = tc_gvcid_null_struct; + } + + tm_current_managed_parameters_struct = tm_gvcid_null_struct; + for (int i = 0; i <= tm_gvcid_counter; i++) + { + tm_gvcid_managed_parameters_array[i] = tm_gvcid_null_struct; + } + + aos_current_managed_parameters_struct = aos_gvcid_null_struct; + for (int i = 0; i <= aos_gvcid_counter; i++) { - gvcid_managed_parameters_array[i] = gvcid_null_struct; + aos_gvcid_managed_parameters_array[i] = aos_gvcid_null_struct; } - gvcid_counter = 0; + tc_gvcid_counter = 0; + tm_gvcid_counter = 0; + aos_gvcid_counter = 0; if (key_if != NULL) { @@ -561,27 +603,59 @@ int32_t Crypto_Shutdown(void) * CCSDS Compliance: CCSDS 355.0-B-2 Section 7 (Management) */ int32_t Crypto_Config_CryptoLib(uint8_t key_type, uint8_t mc_type, uint8_t sa_type, uint8_t cryptography_type, - uint8_t iv_type, uint8_t crypto_create_fecf, uint8_t process_sdls_pdus, - uint8_t has_pus_hdr, uint8_t ignore_sa_state, uint8_t ignore_anti_replay, - uint8_t unique_sa_per_mapid, uint8_t crypto_check_fecf, uint8_t vcid_bitmask, - uint8_t crypto_increment_nontransmitted_iv) + uint8_t iv_type) { - int32_t status = CRYPTO_LIB_SUCCESS; - crypto_config.init_status = INITIALIZED; - crypto_config.key_type = key_type; - crypto_config.mc_type = mc_type; - crypto_config.sa_type = sa_type; - crypto_config.cryptography_type = cryptography_type; - crypto_config.iv_type = iv_type; - crypto_config.crypto_create_fecf = crypto_create_fecf; - crypto_config.process_sdls_pdus = process_sdls_pdus; - crypto_config.has_pus_hdr = has_pus_hdr; - crypto_config.ignore_sa_state = ignore_sa_state; - crypto_config.ignore_anti_replay = ignore_anti_replay; - crypto_config.unique_sa_per_mapid = unique_sa_per_mapid; - crypto_config.crypto_check_fecf = crypto_check_fecf; - crypto_config.vcid_bitmask = vcid_bitmask; - crypto_config.crypto_increment_nontransmitted_iv = crypto_increment_nontransmitted_iv; + int32_t status = CRYPTO_LIB_SUCCESS; + crypto_config_global.init_status = INITIALIZED; + crypto_config_global.key_type = key_type; + crypto_config_global.mc_type = mc_type; + crypto_config_global.sa_type = sa_type; + crypto_config_global.cryptography_type = cryptography_type; + crypto_config_global.iv_type = iv_type; + return status; +} + +int32_t Crypto_Config_TC(uint8_t crypto_create_fecf, uint8_t process_sdls_pdus, uint8_t has_pus_hdr, + uint8_t ignore_anti_replay, uint8_t ignore_sa_state, uint8_t unique_sa_per_mapid, + uint8_t crypto_check_fecf, uint8_t vcid_bitmask, uint8_t crypto_increment_nontransmitted_iv) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + crypto_config_tc.init_status = INITIALIZED; + crypto_config_tc.crypto_create_fecf = crypto_create_fecf; + crypto_config_tc.process_sdls_pdus = process_sdls_pdus; + crypto_config_tc.has_pus_hdr = has_pus_hdr; + crypto_config_tc.ignore_anti_replay = ignore_anti_replay; + crypto_config_tc.ignore_sa_state = ignore_sa_state; + crypto_config_tc.unique_sa_per_mapid = unique_sa_per_mapid; + crypto_config_tc.crypto_check_fecf = crypto_check_fecf; + crypto_config_tc.vcid_bitmask = vcid_bitmask; + crypto_config_tc.crypto_increment_nontransmitted_iv = crypto_increment_nontransmitted_iv; + return status; +} + +int32_t Crypto_Config_TM(uint8_t crypto_create_fecf, uint8_t ignore_anti_replay, uint8_t crypto_check_fecf, + uint8_t vcid_bitmask, uint8_t crypto_increment_nontransmitted_iv) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + crypto_config_tm.init_status = INITIALIZED; + crypto_config_tm.crypto_create_fecf = crypto_create_fecf; + crypto_config_tm.ignore_anti_replay = ignore_anti_replay; + crypto_config_tm.crypto_check_fecf = crypto_check_fecf; + crypto_config_tm.vcid_bitmask = vcid_bitmask; + crypto_config_tm.crypto_increment_nontransmitted_iv = crypto_increment_nontransmitted_iv; + return status; +} + +int32_t Crypto_Config_AOS(uint8_t crypto_create_fecf, uint8_t ignore_anti_replay, uint8_t crypto_check_fecf, + uint8_t vcid_bitmask, uint8_t crypto_increment_nontransmitted_iv) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + crypto_config_aos.init_status = INITIALIZED; + crypto_config_aos.crypto_create_fecf = crypto_create_fecf; + crypto_config_aos.ignore_anti_replay = ignore_anti_replay; + crypto_config_aos.crypto_check_fecf = crypto_check_fecf; + crypto_config_aos.vcid_bitmask = vcid_bitmask; + crypto_config_aos.crypto_increment_nontransmitted_iv = crypto_increment_nontransmitted_iv; return status; } @@ -802,17 +876,49 @@ int32_t Crypto_Config_Cam(uint8_t cam_enabled, char *cookie_file_path, char *key return status; } -int32_t Crypto_Config_Add_Gvcid_Managed_Parameters(GvcidManagedParameters_t gvcid_managed_parameters_struct) +int32_t Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TCGvcidManagedParameters_t gvcid_managed_parameters_struct) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + if (tc_gvcid_counter > GVCID_MAN_PARAM_SIZE) + { + status = CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT; + } + else + { + tc_gvcid_managed_parameters_array[tc_gvcid_counter] = gvcid_managed_parameters_struct; + tc_gvcid_counter++; + } + + return status; +} + +int32_t Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TMGvcidManagedParameters_t gvcid_managed_parameters_struct) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + if (tm_gvcid_counter > GVCID_MAN_PARAM_SIZE) + { + status = CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT; + } + else + { + tm_gvcid_managed_parameters_array[tm_gvcid_counter] = gvcid_managed_parameters_struct; + tm_gvcid_counter++; + } + + return status; +} + +int32_t Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOSGvcidManagedParameters_t gvcid_managed_parameters_struct) { int32_t status = CRYPTO_LIB_SUCCESS; - if (gvcid_counter > GVCID_MAN_PARAM_SIZE) + if (aos_gvcid_counter > GVCID_MAN_PARAM_SIZE) { status = CRYPTO_LIB_ERR_EXCEEDS_MANAGED_PARAMETER_MAX_LIMIT; } else { - gvcid_managed_parameters_array[gvcid_counter] = gvcid_managed_parameters_struct; - gvcid_counter++; + aos_gvcid_managed_parameters_array[aos_gvcid_counter] = gvcid_managed_parameters_struct; + aos_gvcid_counter++; } return status; @@ -827,14 +933,17 @@ int32_t crypto_free_config_structs(void) { int32_t status = CRYPTO_LIB_SUCCESS; - if (crypto_config.init_status == UNITIALIZED) + if (crypto_config_global.init_status == UNINITIALIZED) { status = CRYPTO_LIB_SUCCESS; } else { // free(crypto_config); //no strings in this struct, just free it. - crypto_config.init_status = UNITIALIZED; + crypto_config_global.init_status = UNINITIALIZED; + crypto_config_tc.init_status = UNINITIALIZED; + crypto_config_tm.init_status = UNINITIALIZED; + crypto_config_aos.init_status = UNINITIALIZED; // Config structs with char* types that are malloc'd and must be freed individually. if (sa_mariadb_config != NULL) diff --git a/src/core/crypto_key_mgmt.c b/src/core/crypto_key_mgmt.c index 0676607d..139fd547 100644 --- a/src/core/crypto_key_mgmt.c +++ b/src/core/crypto_key_mgmt.c @@ -493,7 +493,7 @@ int32_t Crypto_Key_verify(TC_t *tc_frame) pdu_keys * (SDLS_KEYV_KEY_ID_LEN + SDLS_IV_LEN + CHALLENGE_SIZE + MAC_SIZE) * BYTE_LEN; // length = pdu_len + HDR + PUS - 1 (per CCSDS Convention) - if (crypto_config.has_pus_hdr == TC_HAS_PUS_HDR) + if (crypto_config_tc.has_pus_hdr == TC_HAS_PUS_HDR) { sdls_frame.hdr.pkt_length = CCSDS_HDR_SIZE + ECSS_PUS_SIZE + SDLS_TLV_HDR_SIZE + (sdls_frame.tlv_pdu.hdr.pdu_len / BYTE_LEN) - 1; diff --git a/src/core/crypto_mc.c b/src/core/crypto_mc.c index 3a75fbbf..cc561927 100644 --- a/src/core/crypto_mc.c +++ b/src/core/crypto_mc.c @@ -292,7 +292,7 @@ int32_t Crypto_SA_readARSN(uint8_t *ingest) spi = ((uint8_t)sdls_frame.tlv_pdu.data[0] << BYTE_LEN) | (uint8_t)sdls_frame.tlv_pdu.data[1]; // TODO: This is not correct - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TC_TABLE_NAME; } diff --git a/src/core/crypto_print.c b/src/core/crypto_print.c index 163576ab..433ff1c9 100644 --- a/src/core/crypto_print.c +++ b/src/core/crypto_print.c @@ -76,9 +76,19 @@ void Crypto_tmPrint(TM_t *tm_frame) printf("\t\t fhp = %d \n", tm_frame->tm_header.fhp); printf("\t SDLS Header\n"); printf("\t\t spi = %d \n", tm_frame->tm_sec_header.spi); - printf("\t\t iv[0] = 0x%02x \n", tm_frame->tm_sec_header.iv[0]); + printf("\t\t iv = 0x"); + for (int i = 0; i < tm_frame->tm_sec_header.iv_field_len; i++) + { + printf("%02x", tm_frame->tm_sec_header.iv[i]); + } + printf("\n"); printf("\t\t iv_len = %d \n", tm_frame->tm_sec_header.iv_field_len); - printf("\t\t sn[0] = 0x%02x \n", tm_frame->tm_sec_header.sn[0]); + printf("\t\t sn = 0x"); + for (int i = 0; i < tm_frame->tm_sec_header.sn_field_len; i++) + { + printf("%02x", tm_frame->tm_sec_header.sn[i]); + } + printf("\n"); printf("\t\t sn_len = %d \n", tm_frame->tm_sec_header.sn_field_len); printf("\t\t pad = %d \n", tm_frame->tm_sec_header.pad); printf("\t\t pad_len= %d \n", tm_frame->tm_sec_header.pad_field_len); @@ -87,9 +97,19 @@ void Crypto_tmPrint(TM_t *tm_frame) printf("\t\t data[1]= 0x%02x \n", tm_frame->tm_pdu[1]); printf("\t\t data[2]= 0x%02x \n", tm_frame->tm_pdu[2]); printf("\t SDLS Trailer\n"); - printf("\t\t MAC[0] = 0x%02x \n", tm_frame->tm_sec_trailer.mac[0]); + printf("\t\t MAC = 0x"); + for (int i = 0; i < tm_frame->tm_sec_trailer.mac_field_len; i++) + { + printf("%02x", tm_frame->tm_sec_trailer.mac[i]); + } + printf("\n"); printf("\t\t MAC_len= %d \n", tm_frame->tm_sec_trailer.mac_field_len); - printf("\t\t OCF[0] = 0x%02x \n", tm_frame->tm_sec_trailer.ocf[0]); + printf("\t\t OCF = 0x"); + for (int i = 0; i < tm_frame->tm_sec_trailer.ocf_field_len; i++) + { + printf("%02x", tm_frame->tm_sec_trailer.ocf[i]); + } + printf("\n"); printf("\t\t OCF_len= %d \n", tm_frame->tm_sec_trailer.ocf_field_len); printf("\t\t FECF = 0x%04x \n", tm_frame->tm_sec_trailer.fecf); printf("\n"); @@ -115,10 +135,28 @@ void Crypto_aosPrint(AOS_t *aos_frame) printf("\t\t fhecf = 0x%04x \n", aos_frame->aos_header.fhecf); printf("\t SDLS Header\n"); printf("\t\t iz[0] = 0x%02x \n", aos_frame->aos_sec_header.iz[0]); + printf("\t\t iz = 0x"); + for (int i = 0; + (i < aos_current_managed_parameters_struct.aos_iz_len) && aos_current_managed_parameters_struct.aos_has_iz; + i++) + { + printf("%02x", aos_frame->aos_sec_header.iz[i]); + } + printf("\n"); printf("\t\t spi = %d \n", aos_frame->aos_sec_header.spi); - printf("\t\t iv[0] = 0x%02x \n", aos_frame->aos_sec_header.iv[0]); + printf("\t\t iv = 0x"); + for (int i = 0; i < aos_frame->aos_sec_header.iv_field_len; i++) + { + printf("%02x", aos_frame->aos_sec_header.iv[i]); + } + printf("\n"); printf("\t\t iv_len = %d \n", aos_frame->aos_sec_header.iv_field_len); - printf("\t\t sn[0] = 0x%02x \n", aos_frame->aos_sec_header.sn[0]); + printf("\t\t sn = 0x"); + for (int i = 0; i < aos_frame->aos_sec_header.sn_field_len; i++) + { + printf("%02x", aos_frame->aos_sec_header.sn[i]); + } + printf("\n"); printf("\t\t sn_len = %d \n", aos_frame->aos_sec_header.sn_field_len); printf("\t\t pad = %d \n", aos_frame->aos_sec_header.pad); printf("\t\t pad_len= %d \n", aos_frame->aos_sec_header.pad_field_len); @@ -127,9 +165,19 @@ void Crypto_aosPrint(AOS_t *aos_frame) printf("\t\t data[1]= 0x%02x \n", aos_frame->aos_pdu[1]); printf("\t\t data[2]= 0x%02x \n", aos_frame->aos_pdu[2]); printf("\t SDLS Trailer\n"); - printf("\t\t MAC[0] = 0x%02x \n", aos_frame->aos_sec_trailer.mac[0]); + printf("\t\t MAC = 0x"); + for (int i = 0; i < aos_frame->aos_sec_trailer.mac_field_len; i++) + { + printf("%02x", aos_frame->aos_sec_trailer.mac[i]); + } + printf("\n"); printf("\t\t MAC_len= %d \n", aos_frame->aos_sec_trailer.mac_field_len); - printf("\t\t OCF[0] = 0x%02x \n", aos_frame->aos_sec_trailer.ocf[0]); + printf("\t\t OCF = 0x"); + for (int i = 0; i < aos_frame->aos_sec_trailer.ocf_field_len; i++) + { + printf("%02x", aos_frame->aos_sec_trailer.ocf[i]); + } + printf("\n"); printf("\t\t OCF_len= %d \n", aos_frame->aos_sec_trailer.ocf_field_len); printf("\t\t FECF = 0x%04x \n", aos_frame->aos_sec_trailer.fecf); printf("\n"); @@ -220,7 +268,7 @@ void Crypto_ccsdsPrint(CCSDS_t *sdls_frame) printf("\t\t seq = 0x%01x \n", sdls_frame->hdr.seq); printf("\t\t pktid = 0x%04x \n", sdls_frame->hdr.pktid); printf("\t\t pkt_length = 0x%04x \n", sdls_frame->hdr.pkt_length); - if (crypto_config.has_pus_hdr == TC_HAS_PUS_HDR) + if (crypto_config_tc.has_pus_hdr == TC_HAS_PUS_HDR) { printf("\t PUS Header\n"); printf("\t\t shf = 0x%01x \n", sdls_frame->pus.shf); @@ -359,20 +407,4 @@ void Crypto_binprint(void *c, size_t n) printf("\n"); } -void Crypto_mpPrint(GvcidManagedParameters_t *managed_parameters, uint8_t print_children) -// Prints the currently configured Managed Parameters -{ - print_children = print_children; - if (managed_parameters != NULL) - { - printf("Managed Parameter: \n"); - printf("\t tfvn: %d", managed_parameters->tfvn); - printf("\t scid: %d", managed_parameters->scid); - printf("\t vcid: %d", managed_parameters->vcid); - printf("\t has_fecf: %d", managed_parameters->has_fecf); - printf("\t has_segmentation_headers: %d\n", managed_parameters->has_segmentation_hdr); - printf("\t max_frame_size: %d\n", managed_parameters->max_frame_size); - printf("\t TM has ocf %d\n", managed_parameters->has_ocf); - } -} #endif \ No newline at end of file diff --git a/src/core/crypto_tc.c b/src/core/crypto_tc.c index 1299f136..a5434e22 100644 --- a/src/core/crypto_tc.c +++ b/src/core/crypto_tc.c @@ -32,8 +32,6 @@ /* Helper functions */ static int32_t crypto_tc_validate_sa(SecurityAssociation_t *sa); -static int32_t crypto_handle_incrementing_nontransmitted_counter(uint8_t *dest, uint8_t *src, int src_full_len, - int transmitted_len, int window); // Forward declarations for new functions static int32_t Crypto_TC_Validate_Auth_Mask(const uint8_t *abm_buffer, uint16_t abm_len, uint16_t frame_len); @@ -327,7 +325,7 @@ int32_t Crypto_TC_Check_IV_Setup(SecurityAssociation_t *sa_ptr, uint8_t *p_new_e int32_t status = CRYPTO_LIB_SUCCESS; int i; uint16_t index_temp = *index; - if (crypto_config.iv_type == IV_INTERNAL) + if (crypto_config_global.iv_type == IV_INTERNAL) { // Start index from the transmitted portion for (i = sa_ptr->iv_len - sa_ptr->shivf_len; i < sa_ptr->iv_len; i++) @@ -340,7 +338,7 @@ int32_t Crypto_TC_Check_IV_Setup(SecurityAssociation_t *sa_ptr, uint8_t *p_new_e else { // Transmitted length > 0, AND using KMC_CRYPTO - if ((sa_ptr->shivf_len > 0) && (crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_KMCCRYPTO)) + if ((sa_ptr->shivf_len > 0) && (crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_KMCCRYPTO)) { index_temp += sa_ptr->iv_len - (sa_ptr->iv_len - sa_ptr->shivf_len); } @@ -392,7 +390,7 @@ int32_t Crypto_TC_Encrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ptr if (sa_ptr->est == 1) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { ekp = key_if->get_key(sa_ptr->ekid); if (ekp == NULL) @@ -413,7 +411,7 @@ int32_t Crypto_TC_Encrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ptr } if (sa_ptr->ast == 1) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { akp = key_if->get_key(sa_ptr->akid); if (akp == NULL) @@ -481,7 +479,7 @@ int32_t Crypto_TC_Encrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ptr if (ecs_is_aead_algorithm == CRYPTO_TRUE) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { // Check that key length to be used ets the algorithm requirement if ((int32_t)ekp->key_len != Crypto_Get_ECS_Algo_Keylen(sa_ptr->ecs)) @@ -517,7 +515,7 @@ int32_t Crypto_TC_Encrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ptr // TODO - implement non-AEAD algorithm logic if (sa_service_type == SA_ENCRYPTION) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { // Check that key length to be used ets the algorithm requirement if ((int32_t)ekp->key_len != Crypto_Get_ECS_Algo_Keylen(sa_ptr->ecs)) @@ -544,7 +542,7 @@ int32_t Crypto_TC_Encrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ptr if (sa_service_type == SA_AUTHENTICATION) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { // Check that key length to be used ets the algorithm requirement if ((int32_t)akp->key_len != Crypto_Get_ACS_Algo_Keylen(sa_ptr->acs)) @@ -597,7 +595,7 @@ void Crypto_TC_Increment_IV_ARSN(uint8_t sa_service_type, SecurityAssociation_t if (sa_service_type != SA_PLAINTEXT) { #ifdef INCREMENT - if (crypto_config.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) + if (crypto_config_tc.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) { if (sa_ptr->shivf_len > 0 && sa_ptr->iv_len != 0) { @@ -700,7 +698,7 @@ int32_t Crypto_TC_Do_Encrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ #ifdef FECF_DEBUG printf(KCYN "Calcing FECF over %d bytes\n" RESET, new_enc_frame_header_field_length - 1); #endif - if (crypto_config.crypto_create_fecf == CRYPTO_TC_CREATE_FECF_TRUE) + if (crypto_config_tc.crypto_create_fecf == CRYPTO_TC_CREATE_FECF_TRUE) { *new_fecf = Crypto_Calc_FECF(p_new_enc_frame, new_enc_frame_header_field_length - 1); *(p_new_enc_frame + new_enc_frame_header_field_length - 1) = (uint8_t)((*new_fecf & 0xFF00) >> 8); @@ -729,7 +727,8 @@ int32_t Crypto_TC_Check_Init_Setup(uint16_t in_frame_length) { int32_t status = CRYPTO_LIB_SUCCESS; - if ((crypto_config.init_status == UNITIALIZED) || (mc_if == NULL) || (sa_if == NULL)) + if ((crypto_config_global.init_status == UNINITIALIZED) || (crypto_config_tc.init_status == UNINITIALIZED) || + (mc_if == NULL) || (sa_if == NULL)) { printf(KRED "ERROR: CryptoLib Configuration Not Set! -- CRYPTO_LIB_ERR_NO_CONFIG, Will Exit\n" RESET); status = CRYPTO_LIB_ERR_NO_CONFIG; @@ -816,9 +815,9 @@ int32_t Crytpo_TC_Validate_TC_Temp_Header(const uint16_t in_frame_length, TC_Fra } // Lookup-retrieve managed parameters for frame via gvcid: - status = - Crypto_Get_Managed_Parameters_For_Gvcid(temp_tc_header.tfvn, temp_tc_header.scid, temp_tc_header.vcid, - gvcid_managed_parameters_array, &tc_current_managed_parameters_struct); + status = Crypto_Get_TC_Managed_Parameters_For_Gvcid(temp_tc_header.tfvn, temp_tc_header.scid, temp_tc_header.vcid, + tc_gvcid_managed_parameters_array, + &tc_current_managed_parameters_struct); if (status != CRYPTO_LIB_SUCCESS) { @@ -838,7 +837,7 @@ int32_t Crytpo_TC_Validate_TC_Temp_Header(const uint16_t in_frame_length, TC_Fra mc_if->mc_log(status); return status; } - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TC_TABLE_NAME; } @@ -1053,7 +1052,7 @@ int32_t Crypto_TC_ApplySecurity_Cam(const uint8_t *p_in_frame, const uint16_t in temp_tc_header.spare = ((uint8_t)p_in_frame[0] & 0x0C) >> 2; temp_tc_header.scid = ((uint8_t)p_in_frame[0] & 0x03) << 8; temp_tc_header.scid = temp_tc_header.scid | (uint8_t)p_in_frame[1]; - temp_tc_header.vcid = ((uint8_t)p_in_frame[2] & 0xFC) >> 2 & crypto_config.vcid_bitmask; + temp_tc_header.vcid = ((uint8_t)p_in_frame[2] & 0xFC) >> 2 & crypto_config_tc.vcid_bitmask; temp_tc_header.fl = ((uint8_t)p_in_frame[2] & 0x03) << 8; temp_tc_header.fl = temp_tc_header.fl | (uint8_t)p_in_frame[3]; temp_tc_header.fsn = (uint8_t)p_in_frame[4]; @@ -1117,11 +1116,10 @@ int32_t Crypto_TC_ApplySecurity_Cam(const uint8_t *p_in_frame, const uint16_t in // Determine if segment header exists and FECF exists uint8_t segment_hdr_len = TC_SEGMENT_HDR_SIZE; uint8_t fecf_len = FECF_SIZE; - uint8_t ocf_len = OCF_SIZE; - Crypto_TC_Calc_Lengths(&fecf_len, &segment_hdr_len, &ocf_len); + Crypto_TC_Calc_Lengths(&fecf_len, &segment_hdr_len); // Calculate tf_payload length here to be used in other logic - int16_t payload_calc = (temp_tc_header.fl + 1) - TC_FRAME_HEADER_SIZE - segment_hdr_len - ocf_len - fecf_len; + int16_t payload_calc = (temp_tc_header.fl + 1) - TC_FRAME_HEADER_SIZE - segment_hdr_len - fecf_len; // check if payload length underflows if (payload_calc < 0) { @@ -1148,7 +1146,7 @@ int32_t Crypto_TC_ApplySecurity_Cam(const uint8_t *p_in_frame, const uint16_t in // Calculate frame lengths based on SA fields *p_enc_frame_len = temp_tc_header.fl + 1 + SPI_LEN + sa_ptr->shivf_len + sa_ptr->shsnf_len + sa_ptr->shplf_len + - sa_ptr->stmacf_len + ocf_len; + sa_ptr->stmacf_len; new_enc_frame_header_field_length = (*p_enc_frame_len) - 1; // Finalize frame setup @@ -1331,7 +1329,7 @@ int32_t Crypto_TC_Parse_Check_FECF(uint8_t *ingest, int *len_ingest, TC_t *tc_sd (((ingest[tc_sdls_processed_frame->tc_header.fl - 1] << 8) & 0xFF00) | (ingest[tc_sdls_processed_frame->tc_header.fl] & 0x00FF)); - if (crypto_config.crypto_check_fecf == TC_CHECK_FECF_TRUE) + if (crypto_config_tc.crypto_check_fecf == TC_CHECK_FECF_TRUE) { uint16_t received_fecf = tc_sdls_processed_frame->tc_sec_trailer.fecf; // Calculate our own @@ -1365,8 +1363,8 @@ int32_t Crypto_TC_Nontransmitted_IV_Increment(SecurityAssociation_t *sa_ptr, TC_ { int32_t status = CRYPTO_LIB_SUCCESS; - if (sa_ptr->shivf_len < sa_ptr->iv_len && crypto_config.ignore_anti_replay == TC_IGNORE_ANTI_REPLAY_FALSE && - crypto_config.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) + if (sa_ptr->shivf_len < sa_ptr->iv_len && crypto_config_tc.ignore_anti_replay == TC_IGNORE_ANTI_REPLAY_FALSE && + crypto_config_tc.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) { status = crypto_handle_incrementing_nontransmitted_counter( tc_sdls_processed_frame->tc_sec_header.iv, sa_ptr->iv, sa_ptr->iv_len, sa_ptr->shivf_len, sa_ptr->arsnw); @@ -1397,7 +1395,7 @@ int32_t Crypto_TC_Nontransmitted_IV_Increment(SecurityAssociation_t *sa_ptr, TC_ int32_t Crypto_TC_Nontransmitted_SN_Increment(SecurityAssociation_t *sa_ptr, TC_t *tc_sdls_processed_frame) { int32_t status = CRYPTO_LIB_SUCCESS; - if (sa_ptr->shsnf_len < sa_ptr->arsn_len && crypto_config.ignore_anti_replay == TC_IGNORE_ANTI_REPLAY_FALSE) + if (sa_ptr->shsnf_len < sa_ptr->arsn_len && crypto_config_tc.ignore_anti_replay == TC_IGNORE_ANTI_REPLAY_FALSE) { status = crypto_handle_incrementing_nontransmitted_counter(tc_sdls_processed_frame->tc_sec_header.sn, sa_ptr->arsn, @@ -1495,7 +1493,7 @@ int32_t Crypto_TC_Do_Decrypt(uint8_t sa_service_type, uint8_t ecs_is_aead_algori if (sa_service_type != SA_PLAINTEXT && ecs_is_aead_algorithm == CRYPTO_TRUE) { // Check that key length to be used meets the algorithm requirement - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { status = Crypto_TC_Check_ECS_Keylen(ekp, sa_ptr); if (status != CRYPTO_LIB_SUCCESS) @@ -1532,7 +1530,7 @@ int32_t Crypto_TC_Do_Decrypt(uint8_t sa_service_type, uint8_t ecs_is_aead_algori // TODO - implement non-AEAD algorithm logic if (sa_service_type == SA_AUTHENTICATION || sa_service_type == SA_AUTHENTICATED_ENCRYPTION) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { // Check that key length to be used ets the algorithm requirement status = Crypto_TC_Check_ACS_Keylen(akp, sa_ptr); @@ -1564,7 +1562,7 @@ int32_t Crypto_TC_Do_Decrypt(uint8_t sa_service_type, uint8_t ecs_is_aead_algori } if (sa_service_type == SA_ENCRYPTION || sa_service_type == SA_AUTHENTICATED_ENCRYPTION) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { // Check that key length to be used emets the algorithm requirement if ((int32_t)ekp->key_len != Crypto_Get_ECS_Algo_Keylen(sa_ptr->ecs)) @@ -1628,11 +1626,13 @@ int32_t Crypto_TC_Process_Sanity_Check(int *len_ingest) printf(KYEL "\n----- Crypto_TC_ProcessSecurity START -----\n" RESET); #endif - if ((mc_if == NULL) || (crypto_config.init_status == UNITIALIZED)) + if ((crypto_config_global.init_status == UNINITIALIZED) || (crypto_config_tc.init_status == UNINITIALIZED) || + (mc_if == NULL) || (sa_if == NULL)) { printf(KRED "ERROR: CryptoLib Configuration Not Set! -- CRYPTO_LIB_ERR_NO_CONFIG, Will Exit\n" RESET); status = CRYPTO_LIB_ERR_NO_CONFIG; - mc_if->mc_log(status); + // Can't mc_log since it's not configured + return status; // return immediately so a NULL crypto_config is not dereferenced later } if ((*len_ingest < 5) && (status == CRYPTO_LIB_SUCCESS)) // Frame length doesn't even have enough bytes for header -- error out. @@ -1721,7 +1721,7 @@ int32_t Crypto_TC_Get_Keys(crypto_key_t **ekp, crypto_key_t **akp, SecurityAssoc { int32_t status = CRYPTO_LIB_SUCCESS; - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { *ekp = key_if->get_key(sa_ptr->ekid); *akp = key_if->get_key(sa_ptr->akid); @@ -1729,7 +1729,7 @@ int32_t Crypto_TC_Get_Keys(crypto_key_t **ekp, crypto_key_t **akp, SecurityAssoc if (sa_ptr->est == 1) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { if (*ekp == NULL) { @@ -1745,7 +1745,7 @@ int32_t Crypto_TC_Get_Keys(crypto_key_t **ekp, crypto_key_t **akp, SecurityAssoc } if (sa_ptr->ast == 1 && status == CRYPTO_LIB_SUCCESS) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { if ((*akp == NULL) && (status == CRYPTO_LIB_SUCCESS)) { @@ -1776,10 +1776,11 @@ int32_t Crypto_TC_Check_IV_ARSN(SecurityAssociation_t *sa_ptr, TC_t *tc_sdls_pro { int32_t status = CRYPTO_LIB_SUCCESS; - if (crypto_config.ignore_anti_replay == TC_IGNORE_ANTI_REPLAY_FALSE && status == CRYPTO_LIB_SUCCESS) + if (crypto_config_tc.ignore_anti_replay == TC_IGNORE_ANTI_REPLAY_FALSE && status == CRYPTO_LIB_SUCCESS) { status = Crypto_Check_Anti_Replay(sa_ptr, tc_sdls_processed_frame->tc_sec_header.sn, - tc_sdls_processed_frame->tc_sec_header.iv); + tc_sdls_processed_frame->tc_sec_header.iv, + crypto_config_tc.crypto_increment_nontransmitted_iv); if (status != CRYPTO_LIB_SUCCESS) { @@ -1797,7 +1798,7 @@ int32_t Crypto_TC_Check_IV_ARSN(SecurityAssociation_t *sa_ptr, TC_t *tc_sdls_pro } else { - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { if (sa_ptr->ek_ref[0] != '\0') clean_ekref(sa_ptr); @@ -1822,7 +1823,7 @@ uint32_t Crypto_TC_Sanity_Validations(TC_t *tc_sdls_processed_frame, SecurityAss { uint32_t status = CRYPTO_LIB_SUCCESS; - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TC_TABLE_NAME; } @@ -1870,7 +1871,7 @@ void Crypto_TC_Get_Ciper_Mode_TCP(uint8_t sa_service_type, uint32_t *encryption_ * * CCSDS Compliance: CCSDS 232.0-B-3 Section 4.1 (Frame Format) **/ -void Crypto_TC_Calc_Lengths(uint8_t *fecf_len, uint8_t *segment_hdr_len, uint8_t *ocf_len) +void Crypto_TC_Calc_Lengths(uint8_t *fecf_len, uint8_t *segment_hdr_len) { if (tc_current_managed_parameters_struct.has_fecf == TC_NO_FECF) { @@ -1881,11 +1882,6 @@ void Crypto_TC_Calc_Lengths(uint8_t *fecf_len, uint8_t *segment_hdr_len, uint8_t { *segment_hdr_len = 0; } - - if (tc_current_managed_parameters_struct.has_ocf == TC_OCF_NA) - { - *ocf_len = 0; - } } /** @@ -1950,7 +1946,7 @@ int32_t Crypto_TC_ProcessSecurity_Cam(uint8_t *ingest, int *len_ingest, TC_t *tc byte_idx++; tc_sdls_processed_frame->tc_header.scid = tc_sdls_processed_frame->tc_header.scid | (uint8_t)ingest[byte_idx]; byte_idx++; - tc_sdls_processed_frame->tc_header.vcid = (((uint8_t)ingest[byte_idx] & 0xFC) >> 2) & crypto_config.vcid_bitmask; + tc_sdls_processed_frame->tc_header.vcid = (((uint8_t)ingest[byte_idx] & 0xFC) >> 2) & crypto_config_tc.vcid_bitmask; tc_sdls_processed_frame->tc_header.fl = ((uint8_t)ingest[byte_idx] & 0x03) << 8; byte_idx++; tc_sdls_processed_frame->tc_header.fl = tc_sdls_processed_frame->tc_header.fl | (uint8_t)ingest[byte_idx]; @@ -1966,9 +1962,10 @@ int32_t Crypto_TC_ProcessSecurity_Cam(uint8_t *ingest, int *len_ingest, TC_t *tc } // Lookup-retrieve managed parameters for frame via gvcid: - status = Crypto_Get_Managed_Parameters_For_Gvcid( + status = Crypto_Get_TC_Managed_Parameters_For_Gvcid( tc_sdls_processed_frame->tc_header.tfvn, tc_sdls_processed_frame->tc_header.scid, - tc_sdls_processed_frame->tc_header.vcid, gvcid_managed_parameters_array, &tc_current_managed_parameters_struct); + tc_sdls_processed_frame->tc_header.vcid, tc_gvcid_managed_parameters_array, + &tc_current_managed_parameters_struct); if (status != CRYPTO_LIB_SUCCESS) { @@ -2027,10 +2024,9 @@ int32_t Crypto_TC_ProcessSecurity_Cam(uint8_t *ingest, int *len_ingest, TC_t *tc // TODO: Calculate lengths when needed uint8_t fecf_len = FECF_SIZE; - uint8_t ocf_len = TELEMETRY_FRAME_OCF_CLCW_SIZE; uint8_t segment_hdr_len = TC_SEGMENT_HDR_SIZE; - Crypto_TC_Calc_Lengths(&fecf_len, &segment_hdr_len, &ocf_len); + Crypto_TC_Calc_Lengths(&fecf_len, &segment_hdr_len); // Parse & Check FECF status = Crypto_TC_Parse_Check_FECF(ingest, len_ingest, tc_sdls_processed_frame); @@ -2136,7 +2132,7 @@ int32_t Crypto_TC_ProcessSecurity_Cam(uint8_t *ingest, int *len_ingest, TC_t *tc return status; // Cryptography IF call failed, return. } // Extended PDU processing, if applicable - if (status == CRYPTO_LIB_SUCCESS && crypto_config.process_sdls_pdus == TC_PROCESS_SDLS_PDUS_TRUE) + if (status == CRYPTO_LIB_SUCCESS && crypto_config_tc.process_sdls_pdus == TC_PROCESS_SDLS_PDUS_TRUE) { status = Crypto_Process_Extended_Procedure_Pdu(tc_sdls_processed_frame, ingest, *len_ingest); } @@ -2217,14 +2213,14 @@ static int32_t validate_sa_index(SecurityAssociation_t *sa) int32_t returnval = 0; SecurityAssociation_t *temp_sa; - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TC_TABLE_NAME; } sa_if->sa_get_from_spi(sa->spi, &temp_sa); // Do not validate sa index on KMC - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { return returnval; } @@ -2234,7 +2230,7 @@ static int32_t validate_sa_index(SecurityAssociation_t *sa) #ifdef DEBUG if (sa_index == 0) printf("SA Index matches SPI\n"); - else if (sa_index != 0 && crypto_config.sa_type != SA_TYPE_MARIADB) + else if (sa_index != 0 && crypto_config_global.sa_type != SA_TYPE_MARIADB) printf("Malformed SA SPI based on SA Index!\n"); #endif if (sa_index != 0) @@ -2257,12 +2253,12 @@ static int32_t crypto_tc_validate_sa(SecurityAssociation_t *sa) { return CRYPTO_LIB_ERR_SPI_INDEX_MISMATCH; } - if (sa->sa_state != SA_OPERATIONAL) + if (sa->sa_state != SA_OPERATIONAL && crypto_config_tc.ignore_sa_state == TC_IGNORE_SA_STATE_FALSE) { return CRYPTO_LIB_ERR_SA_NOT_OPERATIONAL; } - if (sa->shivf_len > 0 && crypto_config.iv_type == IV_CRYPTO_MODULE && - crypto_config.cryptography_type != CRYPTOGRAPHY_TYPE_KMCCRYPTO) + if (sa->shivf_len > 0 && crypto_config_global.iv_type == IV_CRYPTO_MODULE && + crypto_config_global.cryptography_type != CRYPTOGRAPHY_TYPE_KMCCRYPTO) { return CRYPTO_LIB_ERR_NULL_IV; } @@ -2270,12 +2266,13 @@ static int32_t crypto_tc_validate_sa(SecurityAssociation_t *sa) { return CRYPTO_LIB_ERR_IV_LEN_SHORTER_THAN_SEC_HEADER_LENGTH; } - if (sa->iv_len > 0 && crypto_config.iv_type == IV_CRYPTO_MODULE && - crypto_config.cryptography_type != CRYPTOGRAPHY_TYPE_KMCCRYPTO) + if (sa->iv_len > 0 && crypto_config_global.iv_type == IV_CRYPTO_MODULE && + crypto_config_global.cryptography_type != CRYPTOGRAPHY_TYPE_KMCCRYPTO) { return CRYPTO_LIB_ERR_NULL_IV; } - if (crypto_config.iv_type == IV_CRYPTO_MODULE && crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) + if (crypto_config_global.iv_type == IV_CRYPTO_MODULE && + crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) { return CRYPTO_LIB_ERR_NULL_IV; } @@ -2287,79 +2284,6 @@ static int32_t crypto_tc_validate_sa(SecurityAssociation_t *sa) return CRYPTO_LIB_SUCCESS; } -/** - * @brief Function: crypto_handle_incrementing_nontransmitted_counter - * Handles incrementing non-transmitted counters - * @param dest: uint8_t* - * @param src: uint8_t* - * @param src_full_len: int - * @param transmitted_len: int - * @param window: int - * @return int32: Success/Failure - * - * CCSDS Compliance: CCSDS 355.0-B-2 Section 6.1.2 (Anti-replay Processing) - **/ -static int32_t crypto_handle_incrementing_nontransmitted_counter(uint8_t *dest, uint8_t *src, int src_full_len, - int transmitted_len, int window) -{ - int32_t status = CRYPTO_LIB_SUCCESS; - - /* Note: This assumes a max IV / ARSN size of 32. If a larger value is needed, adjust in crypto_config.h*/ - if (src_full_len > - MAX_IV_LEN) // TODO: Does a define exist already? Is this the best method to put a bound on IV/ARSN Size? - { - status = CRYPTO_LIB_ERR_IV_EXCEEDS_INCREMENT_SIZE; - } - - if (status == CRYPTO_LIB_SUCCESS) - { - uint8_t temp_counter[MAX_IV_LEN]; - // Copy IV to temp - memcpy(temp_counter, src, src_full_len); - - // Increment temp_counter Until Transmitted Portion Matches Frame. - uint8_t counter_matches = CRYPTO_TRUE; - for (int i = 0; i < window; i++) - { - Crypto_increment(temp_counter, src_full_len); - for (int x = (src_full_len - transmitted_len); x < src_full_len; x++) - { - // This increment doesn't match the frame! - if (temp_counter[x] != dest[x]) - { - counter_matches = CRYPTO_FALSE; - break; - } - } - if (counter_matches == CRYPTO_TRUE) - { - break; - } - else if (i < window - 1) // Only reset flag if there are more windows to check. - { - counter_matches = CRYPTO_TRUE; // reset the flag, and continue the for loop for the next - continue; - } - } - - if (counter_matches == CRYPTO_TRUE) - { - // Retrieve non-transmitted portion of incremented counter that matches (and may have rolled - // over/incremented) - memcpy(dest, temp_counter, src_full_len - transmitted_len); -#ifdef DEBUG - printf("Incremented IV is:\n"); - Crypto_hexprint(temp_counter, src_full_len); -#endif - } - else - { - status = CRYPTO_LIB_ERR_FRAME_COUNTER_DOESNT_MATCH_SA; - } - } - return status; -} - /** * @brief Function: Crypto_TC_Validate_Auth_Mask * Validates Authentication Bit Mask diff --git a/src/core/crypto_tm.c b/src/core/crypto_tm.c index e99a352d..04c7140e 100644 --- a/src/core/crypto_tm.c +++ b/src/core/crypto_tm.c @@ -52,7 +52,8 @@ int32_t Crypto_TM_Sanity_Check(uint8_t *pTfBuffer) } if ((status == CRYPTO_LIB_SUCCESS) && - ((crypto_config.init_status == UNITIALIZED) || (mc_if == NULL) || (sa_if == NULL))) + ((crypto_config_global.init_status == UNINITIALIZED) || (crypto_config_tm.init_status == UNINITIALIZED) || + (mc_if == NULL) || (sa_if == NULL))) { printf(KRED "ERROR: CryptoLib Configuration Not Set! -- CRYPTO_LIB_ERR_NO_CONFIG, Will Exit\n" RESET); status = CRYPTO_LIB_ERR_NO_CONFIG; @@ -61,6 +62,44 @@ int32_t Crypto_TM_Sanity_Check(uint8_t *pTfBuffer) return status; } +int32_t Crypto_TM_Check_IV_ARSN(SecurityAssociation_t *sa_ptr, TM_t *pp_processed_frame) +{ + int32_t status = CRYPTO_LIB_SUCCESS; + + if (crypto_config_tm.ignore_anti_replay == TM_IGNORE_ANTI_REPLAY_FALSE) + { + status = + Crypto_Check_Anti_Replay(sa_ptr, pp_processed_frame->tm_sec_header.sn, pp_processed_frame->tm_sec_header.iv, + crypto_config_tm.crypto_increment_nontransmitted_iv); + + if (status != CRYPTO_LIB_SUCCESS) + { + mc_if->mc_log(status); + } + if (status == CRYPTO_LIB_SUCCESS) // else + { + // Only save the SA (IV/ARSN) if checking the anti-replay counter; Otherwise we don't update. + status = sa_if->sa_save_sa(sa_ptr); + if (status != CRYPTO_LIB_SUCCESS) + { + mc_if->mc_log(status); + } + } + } + else + { + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) + { + if (sa_ptr->ek_ref[0] != '\0') + clean_ekref(sa_ptr); + if (sa_ptr->ak_ref[0] != '\0') + clean_akref(sa_ptr); + free(sa_ptr); + } + } + return status; +} + /** * @brief Function: Crypto_TM_Determine_SA_Service_Type * Determines the service type for Security Association @@ -215,7 +254,7 @@ uint32_t Crypto_TM_Calculate_Padding(uint32_t cipher, uint16_t data_len) block_size = 16; // AES block size is 16 bytes padding = block_size - (data_len % block_size); if (padding == block_size) - padding = 0; + padding = 16; break; case CRYPTO_CIPHER_AES256_GCM: @@ -307,7 +346,7 @@ int32_t Crypto_TM_Get_Keys(crypto_key_t **ekp, crypto_key_t **akp, SecurityAssoc if (sa_ptr->est == 1) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { *ekp = key_if->get_key(sa_ptr->ekid); if (*ekp == NULL) @@ -326,7 +365,7 @@ int32_t Crypto_TM_Get_Keys(crypto_key_t **ekp, crypto_key_t **akp, SecurityAssoc } if (sa_ptr->ast == 1) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { *akp = key_if->get_key(sa_ptr->akid); if (*akp == NULL) @@ -553,7 +592,7 @@ int32_t Crypto_TM_Do_Encrypt_Handle_Increment(uint8_t sa_service_type, SecurityA if (sa_service_type != SA_PLAINTEXT) { #ifdef INCREMENT - if (crypto_config.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) + if (crypto_config_tm.crypto_increment_nontransmitted_iv == SA_INCREMENT_NONTRANSMITTED_IV_TRUE) { if (sa_ptr->shivf_len > 0 && sa_ptr->iv_len != 0) { @@ -683,7 +722,7 @@ int32_t Crypto_TM_Do_Encrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ #ifdef FECF_DEBUG printf(KCYN "Calcing FECF over %d bytes\n" RESET, tm_current_managed_parameters_struct.max_frame_size - 2); #endif - if (crypto_config.crypto_create_fecf == CRYPTO_TM_CREATE_FECF_TRUE) + if (crypto_config_tm.crypto_create_fecf == CRYPTO_TM_CREATE_FECF_TRUE) { *new_fecf = Crypto_Calc_FECF((uint8_t *)pTfBuffer, tm_current_managed_parameters_struct.max_frame_size - 2); @@ -821,7 +860,7 @@ int32_t Crypto_TM_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) printf("\n"); #endif - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TM_TABLE_NAME; } @@ -837,8 +876,8 @@ int32_t Crypto_TM_ApplySecurity(uint8_t *pTfBuffer, uint16_t len_ingest) return status; } - status = Crypto_Get_Managed_Parameters_For_Gvcid(tfvn, scid, vcid, gvcid_managed_parameters_array, - &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tfvn, scid, vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // No managed parameters found if (status != CRYPTO_LIB_SUCCESS) @@ -1083,7 +1122,8 @@ int32_t Crypto_TM_Process_Setup(uint16_t len_ingest, uint16_t *byte_idx, uint8_t } if ((status == CRYPTO_LIB_SUCCESS) && - ((crypto_config.init_status == UNITIALIZED) || (mc_if == NULL) || (sa_if == NULL))) + ((crypto_config_global.init_status == UNINITIALIZED) || (crypto_config_tm.init_status == UNINITIALIZED) || + (mc_if == NULL) || (sa_if == NULL))) { #ifdef TM_DEBUG printf(KRED "ERROR: CryptoLib Configuration Not Set! -- CRYPTO_LIB_ERR_NO_CONFIG, Will Exit\n" RESET); @@ -1112,9 +1152,9 @@ int32_t Crypto_TM_Process_Setup(uint16_t len_ingest, uint16_t *byte_idx, uint8_t // Lookup-retrieve managed parameters for frame via gvcid: if (status == CRYPTO_LIB_SUCCESS) { - status = Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, - tm_frame_pri_hdr.vcid, gvcid_managed_parameters_array, - &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); } if (status != CRYPTO_LIB_SUCCESS) @@ -1257,7 +1297,7 @@ int32_t Crypto_TM_FECF_Setup(uint8_t *p_ingest, uint16_t len_ingest) uint16_t received_fecf = (((p_ingest[tm_current_managed_parameters_struct.max_frame_size - 2] << 8) & 0xFF00) | (p_ingest[tm_current_managed_parameters_struct.max_frame_size - 1] & 0x00FF)); - if (crypto_config.crypto_check_fecf == TM_CHECK_FECF_TRUE) + if (crypto_config_tm.crypto_check_fecf == TM_CHECK_FECF_TRUE) { // Calculate our own uint16_t calculated_fecf = Crypto_Calc_FECF(p_ingest, len_ingest - 2); @@ -1462,7 +1502,7 @@ int32_t Crypto_TM_Do_Decrypt_NONAEAD(uint8_t sa_service_type, uint16_t pdu_len, } if (sa_service_type == SA_ENCRYPTION || sa_service_type == SA_AUTHENTICATED_ENCRYPTION) { - if (crypto_config.key_type != KEY_TYPE_KMC) + if (crypto_config_global.key_type != KEY_TYPE_KMC) { // Check that key length to be used meets the algorithm requirement if ((int32_t)ekp->key_len != Crypto_Get_ECS_Algo_Keylen(sa_ptr->ecs)) @@ -1569,6 +1609,15 @@ int32_t Crypto_TM_Do_Decrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ // byte_idx += pdu_len; // not read } + // Now that MAC has been verified, check IV & ARSN if applicable + status = Crypto_TM_Check_IV_ARSN(sa_ptr, pp_processed_frame); + if (status != CRYPTO_LIB_SUCCESS) + { + // Crypto_TC_Safe_Free_Ptr(aad); + mc_if->mc_log(status); + return status; // Cryptography IF call failed, return. + } + #ifdef TM_DEBUG printf(KYEL "Printing received frame:\n\t" RESET); for (int i = 0; i < tm_current_managed_parameters_struct.max_frame_size; i++) @@ -1607,18 +1656,17 @@ int32_t Crypto_TM_Do_Decrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ byte_idx += 6; // Security Header - pp_processed_frame->tm_sec_header.spi = - (((uint16_t)p_new_dec_frame[byte_idx]) << 8) | ((uint16_t)p_new_dec_frame[byte_idx + 1]); + pp_processed_frame->tm_sec_header.spi = (((uint16_t)p_ingest[byte_idx]) << 8) | ((uint16_t)p_ingest[byte_idx + 1]); byte_idx += 2; for (int i = 0; i < sa_ptr->shivf_len; i++) { - memcpy(pp_processed_frame->tm_sec_header.iv + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->tm_sec_header.iv + i, &p_ingest[byte_idx + i], 1); } byte_idx += sa_ptr->shivf_len; pp_processed_frame->tm_sec_header.iv_field_len = sa_ptr->shivf_len; for (int i = 0; i < sa_ptr->shsnf_len; i++) { - memcpy(pp_processed_frame->tm_sec_header.sn + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->tm_sec_header.sn + i, &p_ingest[byte_idx + i], 1); } byte_idx += sa_ptr->shsnf_len; pp_processed_frame->tm_sec_header.sn_field_len = sa_ptr->shsnf_len; @@ -1637,7 +1685,7 @@ int32_t Crypto_TM_Do_Decrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ // Security Trailer for (int i = 0; i < sa_ptr->stmacf_len; i++) { - memcpy(pp_processed_frame->tm_sec_trailer.mac + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->tm_sec_trailer.mac + i, &p_ingest[byte_idx + i], 1); } byte_idx += sa_ptr->stmacf_len; pp_processed_frame->tm_sec_trailer.mac_field_len = sa_ptr->stmacf_len; @@ -1645,7 +1693,7 @@ int32_t Crypto_TM_Do_Decrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ { for (int i = 0; i < OCF_SIZE; i++) { - memcpy(pp_processed_frame->tm_sec_trailer.ocf + i, &p_new_dec_frame[byte_idx + i], 1); + memcpy(pp_processed_frame->tm_sec_trailer.ocf + i, &p_ingest[byte_idx + i], 1); } byte_idx += OCF_SIZE; pp_processed_frame->tm_sec_trailer.ocf_field_len = OCF_SIZE; @@ -1656,8 +1704,7 @@ int32_t Crypto_TM_Do_Decrypt(uint8_t sa_service_type, SecurityAssociation_t *sa_ } if (tm_current_managed_parameters_struct.has_fecf == TM_HAS_FECF) { - pp_processed_frame->tm_sec_trailer.fecf = - ((uint16_t)p_new_dec_frame[byte_idx] << 8) | p_new_dec_frame[byte_idx + 1]; + pp_processed_frame->tm_sec_trailer.fecf = ((uint16_t)p_ingest[byte_idx] << 8) | p_ingest[byte_idx + 1]; } free(p_new_dec_frame); @@ -1748,7 +1795,7 @@ int32_t Crypto_TM_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, TM_t * // Move index to past the SPI byte_idx += 2; - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TM_TABLE_NAME; } @@ -1837,8 +1884,15 @@ int32_t Crypto_TM_ProcessSecurity(uint8_t *p_ingest, uint16_t len_ingest, TM_t * iv_loc = byte_idx; } // Increment byte_idx past Security Header Fields based on SA values + memcpy((pp_processed_frame->tm_sec_header.iv + (sa_ptr->iv_len - sa_ptr->shivf_len)), &(p_ingest[byte_idx]), + sa_ptr->shivf_len); byte_idx += sa_ptr->shivf_len; + + memcpy((pp_processed_frame->tm_sec_header.sn + (sa_ptr->arsn_len - sa_ptr->shsnf_len)), &(p_ingest[byte_idx]), + sa_ptr->shsnf_len); byte_idx += sa_ptr->shsnf_len; + + memcpy(&(pp_processed_frame->tm_sec_header.pad), &(p_ingest[byte_idx]), sa_ptr->shplf_len); byte_idx += sa_ptr->shplf_len; #ifdef SA_DEBUG @@ -2116,7 +2170,7 @@ int32_t Crypto_TM_FECF_Validate(uint8_t *p_ingest, uint16_t len_ingest, Security uint16_t received_fecf = (((p_ingest[tm_current_managed_parameters_struct.max_frame_size - 2] << 8) & 0xFF00) | (p_ingest[tm_current_managed_parameters_struct.max_frame_size - 1] & 0x00FF)); - if (crypto_config.crypto_check_fecf == TM_CHECK_FECF_TRUE) + if (crypto_config_tm.crypto_check_fecf == TM_CHECK_FECF_TRUE) { // Calculate FECF over appropriate data uint8_t is_encrypted = (sa_ptr->est == 1); diff --git a/src/core/crypto_user.c b/src/core/crypto_user.c index e127d960..291211d3 100644 --- a/src/core/crypto_user.c +++ b/src/core/crypto_user.c @@ -175,7 +175,7 @@ int32_t Crypto_User_ModifyVCID(void) int j; // TODO: This is not correct - if (crypto_config.sa_type == SA_TYPE_MARIADB) + if (crypto_config_global.sa_type == SA_TYPE_MARIADB) { mariadb_table_name = MARIADB_TC_TABLE_NAME; } diff --git a/src/sa/internal/sa_interface_inmemory.template.c b/src/sa/internal/sa_interface_inmemory.template.c index e2fb851b..912de8b4 100644 --- a/src/sa/internal/sa_interface_inmemory.template.c +++ b/src/sa/internal/sa_interface_inmemory.template.c @@ -799,7 +799,7 @@ int32_t sa_get_operational_sa_from_gvcid_find_iv(uint8_t tfvn, uint16_t scid, ui // If valid match found if ((sa[i].gvcid_blk.tfvn == tfvn) && (sa[i].gvcid_blk.scid == scid) && (sa[i].gvcid_blk.vcid == vcid) && (sa[i].sa_state == SA_OPERATIONAL) && - (crypto_config.unique_sa_per_mapid == TC_UNIQUE_SA_PER_MAP_ID_FALSE || sa[i].gvcid_blk.mapid == mapid)) + (crypto_config_tc.unique_sa_per_mapid == TC_UNIQUE_SA_PER_MAP_ID_FALSE || sa[i].gvcid_blk.mapid == mapid)) // only require MapID match is unique SA per MapID set (only relevant // when using segmentation hdrs) { diff --git a/src/sa/mariadb/sa_interface_mariadb.template.c b/src/sa/mariadb/sa_interface_mariadb.template.c index 83861027..3d9724a3 100644 --- a/src/sa/mariadb/sa_interface_mariadb.template.c +++ b/src/sa/mariadb/sa_interface_mariadb.template.c @@ -366,7 +366,7 @@ static int32_t parse_sa_from_mysql_query(char *query, SecurityAssociation_t **se } if (strcmp(field_names[i], "ekid") == 0) { - if (crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) + if (crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) { sa->ekid = atoi(row[i]); } @@ -379,7 +379,7 @@ static int32_t parse_sa_from_mysql_query(char *query, SecurityAssociation_t **se } if (strcmp(field_names[i], "akid") == 0) { - if (crypto_config.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) + if (crypto_config_global.cryptography_type == CRYPTOGRAPHY_TYPE_LIBGCRYPT) { sa->akid = atoi(row[i]); } diff --git a/support/fuzz/src/fuzz_harness.c b/support/fuzz/src/fuzz_harness.c index c127ec98..07c4a4d1 100644 --- a/support/fuzz/src/fuzz_harness.c +++ b/support/fuzz/src/fuzz_harness.c @@ -27,34 +27,46 @@ static int32_t init_cryptolib_for_fuzzing(void) int32_t status; // Configure CryptoLib with settings for all protocols - Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, // Use internal key management - MC_TYPE_INTERNAL, // Use internal message counting - SA_TYPE_INMEMORY, // Use in-memory security associations - CRYPTOGRAPHY_TYPE_LIBGCRYPT, // Use libgcrypt for crypto operations - IV_INTERNAL, // Use internal IV generation - CRYPTO_TC_CREATE_FECF_TRUE, // Create FECF for TC frames - TC_PROCESS_SDLS_PDUS_TRUE, // Process SDLS PDUs for TC frames - TC_HAS_PUS_HDR, // TC frames have PUS headers - TC_IGNORE_SA_STATE_FALSE, // Don't ignore SA state - TC_IGNORE_ANTI_REPLAY_FALSE, // Don't ignore anti-replay - TC_UNIQUE_SA_PER_MAP_ID_FALSE, // Don't use unique SAs per MAP ID - TC_CHECK_FECF_TRUE, // Check FECF for TC frames - 0x3F, // TC security flags - SA_INCREMENT_NONTRANSMITTED_IV_TRUE // Increment non-transmitted IV + Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, // Use internal key management + MC_TYPE_INTERNAL, // Use internal message counting + SA_TYPE_INMEMORY, // Use in-memory security associations + CRYPTOGRAPHY_TYPE_LIBGCRYPT, // Use libgcrypt for crypto operations + IV_INTERNAL // Use internal IV generation + ); + + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, // Create FECF for TC frames + TC_PROCESS_SDLS_PDUS_TRUE, // Process SDLS PDUs for TC frames + TC_HAS_PUS_HDR, // TC frames have PUS headers + TC_IGNORE_SA_STATE_FALSE, // Don't ignore SA state + TC_IGNORE_ANTI_REPLAY_FALSE, // Don't ignore anti-replay + TC_UNIQUE_SA_PER_MAP_ID_FALSE, // Don't use unique SAs per MAP ID + TC_CHECK_FECF_TRUE, // Check FECF for TC frames + 0x3F, // TC security flags + SA_INCREMENT_NONTRANSMITTED_IV_TRUE // Increment non-transmitted IV + ); + + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, // Create FECF for TC frames + TM_CHECK_FECF_TRUE, // Check FECF for TC frames + 0x3F, // TC security flags + SA_INCREMENT_NONTRANSMITTED_IV_TRUE // Increment non-transmitted IV + ); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, // Create FECF for TC frames + AOS_CHECK_FECF_TRUE, // Check FECF for TC frames + 0x3F, // TC security flags + SA_INCREMENT_NONTRANSMITTED_IV_TRUE // Increment non-transmitted IV ); // Add parameters for TC, TM, and AOS protocols - GvcidManagedParameters_t TC_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_Parameters); + TCGvcidManagedParameters_t TC_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_Parameters); - GvcidManagedParameters_t TM_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_Parameters); + TMGvcidManagedParameters_t TM_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_Parameters); - GvcidManagedParameters_t AOS_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_Parameters); + AOSGvcidManagedParameters_t AOS_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_Parameters); // Initialize the library status = Crypto_Init(); diff --git a/test/kmc/ut_aos_kmc.c b/test/kmc/ut_aos_kmc.c index 7c99cc2d..122cc46a 100644 --- a/test/kmc/ut_aos_kmc.c +++ b/test/kmc/ut_aos_kmc.c @@ -143,17 +143,17 @@ UTEST(AOS_APPLY_KMC, HAPPY_PATH_ENC_AOS_CBC_KMC) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -265,18 +265,18 @@ UTEST(AOS_PROCESS_KMC, HAPPY_PATH_DEC_AOS_CBC_KMC) remove("sa_save_file.bin"); reload_db(); // Setup & Initialize CryptoLib - Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, + IV_CRYPTO_MODULE); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); diff --git a/test/kmc/ut_kmc_cam.c b/test/kmc/ut_kmc_cam.c index 0148db62..a018addb 100644 --- a/test/kmc/ut_kmc_cam.c +++ b/test/kmc/ut_kmc_cam.c @@ -9,9 +9,10 @@ UTEST(KMC_CAM, CAM_CONFIG) int32_t status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // check username status = Crypto_Config_Cam(CAM_ENABLED_TRUE, // cam_enabled diff --git a/test/kmc/ut_kmc_crypto.c b/test/kmc/ut_kmc_crypto.c index 5120428c..c43a7a1d 100644 --- a/test/kmc/ut_kmc_crypto.c +++ b/test/kmc/ut_kmc_crypto.c @@ -68,13 +68,14 @@ void reload_db(void) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 55, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "2003dc070001bd37"; // char* raw_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -119,7 +120,8 @@ void reload_db(void) // // // Setup & Initialize CryptoLib // // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// // TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, +// // TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, // // TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // // Crypto_Config_MariaDB("sa_user", "sa_password", "localhost","sadb", 3306, CRYPTO_FALSE, NULL, NULL, NULL, NULL, // 0, NULL); @@ -127,14 +129,14 @@ void reload_db(void) // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-cert.pem", // "PEM","/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem",NULL,"/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/ammos-ca-bundle.crt", // NULL, NULL, CRYPTO_FALSE); -// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); -// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); -// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); -// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); +// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); +// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); +// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); +// // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); // // int32_t status = Crypto_Init(); // // // // char* raw_tc_jpl_mmt_scid44_vcid1= "202c0808000001361c"; @@ -181,17 +183,17 @@ UTEST(KMC_CRYPTO, HAPPY_PATH_APPLY_SEC_AUTH_ONLY) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 56, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 56, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); char *raw_tc_jpl_mmt_scid44_vcid1 = "2003E008000001bf1a"; @@ -252,18 +254,18 @@ UTEST(KMC_CRYPTO, HAPPY_PATH_PROCESS_SEC_ENC_AND_AUTH) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 55, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 55, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); char *enc_tc_jpl_mmt_scid44_vcid1 = "2003DC250000130000000000000000000000016746C816E9C1D758FB457D8AAE7A5B83842A5A"; @@ -321,22 +323,23 @@ UTEST(KMC_CRYPTO, HAPPY_PATH_PROCESS_SEC_ENC_AND_AUTH) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("sa_user", "sa_password", "localhost","sadb", 3306, CRYPTO_FALSE, NULL, NULL, NULL, NULL, // 0, NULL); // Crypto_Config_Kmc_Crypto_Service("https", "asec-cmdenc-srv1.jpl.nasa.gov", 8443, "crypto-service", // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-cert.pem", // "PEM","/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem",NULL,"/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/ammos-ca-bundle.crt", // NULL, NULL, CRYPTO_FALSE); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); // int32_t status = Crypto_Init(); // // char* enc_tc_jpl_mmt_scid44_vcid1= "202C0816000003000000000000000000000001669CD238"; @@ -392,13 +395,14 @@ UTEST(KMC_CRYPTO, HAPPY_PATH_PROCESS_SEC_ENC_AND_AUTH) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 56, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* enc_tc_jpl_mmt_scid44_vcid1= // "2003E02600001400000000000000000000000200018DC038398EAA968C0D8972A614E1EFE005AE"; char* @@ -458,17 +462,17 @@ UTEST(KMC_CRYPTO, HAPPY_PATH_APPLY_SEC_ENC_AND_AUTH_AESGCM_8BYTE_MAC) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 57, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 57, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); char *raw_tc_jpl_mmt_scid44_vcid1 = "2003e408000001bd37"; @@ -517,17 +521,17 @@ UTEST(KMC_CRYPTO, HAPPY_PATH_PROCESS_SEC_ENC_AND_AUTH_AESGCM_8BYTE_MAC) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 57, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 57, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); char *enc_tc_jpl_mmt_scid44_vcid1 = "2003E41E0000150000000000000000000000040001EF029857C5ED7E5B1807"; @@ -587,16 +591,17 @@ UTEST(KMC_CRYPTO, HAPPY_PATH_PROCESS_SEC_ENC_AND_AUTH_AESGCM_8BYTE_MAC) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, // CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); // Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", // "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); -// GvcidManagedParameters_t TC_UT_Managed_Parameters = { -// 0, 0x0003, 11, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; -// Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); +// TCGvcidManagedParameters_t TC_UT_Managed_Parameters = { +// 0, 0x0003, 11, TC_NO_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; +// Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); // int32_t status = Crypto_Init(); // char *enc_tc_jpl_mmt_scid44_vcid1 = "20032C1E000009000000000000000000000001669C5639DCCDEA8C6CE3EEF2"; @@ -644,17 +649,17 @@ UTEST(KMC_CRYPTO, UNHAPPY_PATH_APPLY_SEC_ENC_AND_AUTH_AESGCM_32BYTE_MAC) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 12, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 12, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); char *raw_tc_jpl_mmt_scid44_vcid1 = "202c3008000001bd37"; diff --git a/test/kmc/ut_kmc_crypto_auth_only.c b/test/kmc/ut_kmc_crypto_auth_only.c index d7ada45a..eef70a4b 100644 --- a/test/kmc/ut_kmc_crypto_auth_only.c +++ b/test/kmc/ut_kmc_crypto_auth_only.c @@ -47,13 +47,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 7, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c1c08000001bb40"; @@ -98,13 +99,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 7, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // // char* enc_tc_jpl_mmt_scid44_vcid1= "202C1C1A0000050001C50827915AEB423F054402D5DC3C67566986"; // Returns // CRYPTO_LIB_ERR_INVALID_HEADER since SN/ARC missing from header @@ -160,13 +162,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 7, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= // "202c1f0700a6ec42999902579daaac3a5af6aabe93288e18d5d4046e24cc5df1f8fa06bac515206d5b0dfcc9861db694f3207175b725bfa6e987fadc1e1e417bff0c30a90b143ca737f2fcf02525c6080c38fde4d4da229387339f363ccdabf42a1defa29f711926c8e0a7479e082ec00b495ae53c8e33b5dc001833aa1d909b4b3aecd60bc6b0af62e8febb58fa15979a5d1e37b9ba48d6d1bf4b9d669306375d7f93942908e410492d6535c91245abbb98a0584aa764815bfdcab44d8c0aeff3a2e2c712649497f95e9440bb1b562cb6fa70a5ff5e5fdbcad40a97fa3bf48f0560bc9c7125b758f25a27678996e5ee3a82a5b864672b80888c2d469fe690aca0501d0de3bec247825f3fbd7f51184f8099dd2ffeb140c9aad86ae8ade912eadbcbef0bb821e684366a084f8d65bd9d0acccfae5fb130d8bf27ff855cea8de4a4e249e5bc8ef9732c06d6d578574b9f936ae1837a61369a7871612337df2dc091dadc8386e53aba816f3a162b71c268e07583a0378805a1f435bf437c0e27193cee4b653273d965fc0b42cfd3c094e2ff89f276153d452814ff016bfcc1b5ec313667de1aaddeb2d31dcaa75f88e4ac758556c7a632374089c53852601385c89aa668b70fd735e9053473538614408241ac47f6ef12aff10c2bce36df6afe7610a5a06997680b579953888684543b7cdefc7cc5987459a9255d187c8790284ad1f2ca38a3a3d56d909a03af87f3788e00d1b9887296ea5ff4087306569c2a3581189a70892e01279812151fdb9f8ec71786edd9cddd8652558503aac1904cf542aeebf269b08c5f648145b498be842080ccbdfe14c8cad1f371e706c0c4ed27d963e2e645224510e7d43ddf50daf8225f484ec841c9e642e489bd70fdbc925c532ab988d0f3999e3e1bdc88d5b0dd61e2b8d72a4a994f3efdc19382cdffdb96ea55ee5a389b003fc91ebc493c0949f56dc7b4b6d69d10dbc937f3757fb36b9000bf67d049c9c768a586b14b5166bffb41fc29c1d5613f2aaa2868fd974a95a3461b0c1c0f1ca87eccf7624fd1ffbe2f45463505b649a0b32410182731dfbe23813e88c3b6bdec7e"; @@ -209,13 +212,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 8, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c2008000001bb40"; @@ -261,13 +265,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 8, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* enc_tc_jpl_mmt_scid44_vcid1= // "202C202E00000D000000020001482F52BA9B9411B46C8ABD6F5DF9FC63A2CE8EB3FC7D83EE488DA7A88D49FDFC4264"; char* @@ -320,13 +325,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 9, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c2408000001bb40"; @@ -371,13 +377,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 9, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // // char* enc_tc_jpl_mmt_scid44_vcid1= "202C1C1A0000050001C50827915AEB423F054402D5DC3C67566986"; // Returns // CRYPTO_LIB_ERR_INVALID_HEADER since SN/ARC missing from header @@ -433,13 +440,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 10, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c2808000001bb40"; @@ -484,13 +492,14 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 10, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // // char* enc_tc_jpl_mmt_scid44_vcid1= "202C1C1A0000050001C50827915AEB423F054402D5DC3C67566986"; // Returns // CRYPTO_LIB_ERR_INVALID_HEADER since SN/ARC missing from header diff --git a/test/kmc/ut_kmc_crypto_cam.c b/test/kmc/ut_kmc_crypto_cam.c index 97fa264b..ca5d0037 100644 --- a/test/kmc/ut_kmc_crypto_cam.c +++ b/test/kmc/ut_kmc_crypto_cam.c @@ -36,8 +36,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -55,11 +56,11 @@ // // // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_KERBEROS,"https://asec-dev-vm10.jpl.nasa.gov:443", // NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, -// AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, +// AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c0408000001bd37"; @@ -102,8 +103,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -121,10 +123,10 @@ // "testuser3300", NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_KERBEROS,"https://asec-dev-vm10.jpl.nasa.gov:443", // NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, -// AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c0408000001bd37"; @@ -170,8 +172,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -182,11 +185,11 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, -// AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, +// AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c0408000001bd37"; // char* raw_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -233,8 +236,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -245,11 +249,11 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, -// AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, +// AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c0C08000001bf1a"; // char* raw_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -297,8 +301,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -309,11 +314,11 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, -// AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, +// AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* enc_tc_jpl_mmt_scid44_vcid1= // "202C0426000002000000000000000000000001669C5639DCCFEA8C6CE33230EE2E7065496367CC"; char* @@ -370,8 +375,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -382,11 +388,11 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, -// AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, +// AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* enc_tc_jpl_mmt_scid44_vcid1= // "202C0C2600000400000000000000000000000100016E2051F96CAB186BCE364A65AF599AE52F38"; char* @@ -444,8 +450,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -456,8 +463,8 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 11, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 11, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c2c08000001bd37"; // char* raw_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -502,8 +509,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -514,8 +522,8 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 11, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 11, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* enc_tc_jpl_mmt_scid44_vcid1= "202C2C1E000009000000000000000000000001669C5639DCCFEA8C6CE3AA71"; // char* enc_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -569,8 +577,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -581,8 +590,8 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 11, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 11, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* enc_tc_jpl_mmt_scid44_vcid1= "202C2C1E000009000000000000000000000001669C5639DCCDEA8C6CE3EEF2"; // char* enc_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -627,8 +636,9 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("localhost", "sadb", 3306, CRYPTO_FALSE, 0, NULL, NULL, NULL, NULL, NULL, "sa_user", // "sa_password"); // Crypto_Config_Kmc_Crypto_Service("https", "asec-dev-vm18.jpl.nasa.gov", 8443, "crypto-service", @@ -639,8 +649,8 @@ // "/home/isaleh/git/KMC/CryptoLib-IbraheemYSaleh/util/etc/local-test-key.pem", // NULL, NULL); // Crypto_Config_Cam(CAM_ENABLED_TRUE,"/home/isaleh/.cam_cookie_file",NULL,CAM_LOGIN_NONE,NULL, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 12, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 12, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "202c3008000001bd37"; // char* raw_tc_jpl_mmt_scid44_vcid1_expect = NULL; diff --git a/test/kmc/ut_kmc_crypto_with_mtls_sadb.c b/test/kmc/ut_kmc_crypto_with_mtls_sadb.c index 0bf729f8..46e21a7d 100644 --- a/test/kmc/ut_kmc_crypto_with_mtls_sadb.c +++ b/test/kmc/ut_kmc_crypto_with_mtls_sadb.c @@ -47,18 +47,19 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, -// AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 2, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, +// AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 2, TC_HAS_FECF, +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "20030408000001bd37"; // char* raw_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -99,17 +100,18 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // char* raw_tc_jpl_mmt_scid44_vcid1= "20030408000001bd37"; // char* raw_tc_jpl_mmt_scid44_vcid1_expect = NULL; @@ -150,18 +152,19 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "bad_user_name", NULL); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x002C, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x002C, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_ERROR, status); @@ -173,18 +176,19 @@ // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", "bad_password"); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_ERROR, status); diff --git a/test/kmc/ut_mariadb.c b/test/kmc/ut_mariadb.c index 830ca65c..f9e5ac6a 100644 --- a/test/kmc/ut_mariadb.c +++ b/test/kmc/ut_mariadb.c @@ -84,8 +84,9 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); @@ -123,8 +124,9 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); @@ -174,8 +176,9 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); @@ -232,8 +235,9 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); @@ -283,8 +287,8 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); @@ -365,8 +369,9 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); @@ -448,8 +453,9 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); @@ -559,8 +565,9 @@ // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_SIZE); diff --git a/test/kmc/ut_tc_kmc.c b/test/kmc/ut_tc_kmc.c index 9af194ba..0f2699b0 100644 --- a/test/kmc/ut_tc_kmc.c +++ b/test/kmc/ut_tc_kmc.c @@ -156,17 +156,17 @@ UTEST(TC_APPLY_SECURITY, HAPPY_PATH_ENC_CBC_KMC) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); Crypto_Init(); // Setup & Initialize CryptoLib @@ -210,23 +210,23 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -281,16 +281,17 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = "20030017000080d2c70008197f0b003100000000b1fe3128"; // char* raw_tc_sdls_ping_b = NULL; @@ -345,16 +346,17 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = // "200303E6000080d2c70008197f0b00310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1fed255"; @@ -396,16 +398,17 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = // "200303F7000080d2c70008197f0b0031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1fed255"; @@ -444,16 +447,17 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = "20030015000080d2c70008197f0b00310000b1fe3128"; // char* raw_tc_sdls_ping_b = NULL; @@ -498,12 +502,13 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // // // 200300230000000B000000000000000000000000852DDEFF8FCD93567F271E192C07F126 // char* raw_tc_sdls_ping_h = "20030015000080d2c70008197f0b00310000b1fe3128"; @@ -554,15 +559,16 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = "20031815000080d2c70008197f0b00310000b1fe3128"; // char* raw_tc_sdls_ping_b = NULL; @@ -592,13 +598,14 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = "20031816000080d2c70008197f0b0031000000b1fe3128"; @@ -641,13 +648,14 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = "20031817000080d2c70008197f0b003100000000b1fe3128"; @@ -692,13 +700,14 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = @@ -741,17 +750,18 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = // "200303F2000080d2c70008197f0b003100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b1fed255"; @@ -790,15 +800,16 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 4, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 4, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // char* raw_tc_sdls_ping_h = "20031015000080d2c70008197f0b00310000b1fe3128"; // char* raw_tc_sdls_ping_b = NULL; @@ -828,16 +839,17 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -889,16 +901,17 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -950,16 +963,17 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, -// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, -// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); -// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, -// AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, +// TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, +// 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); +// Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, +// AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1012,12 +1026,13 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_FALSE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1053,12 +1068,13 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // // Setup & Initialize CryptoLib // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, // "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", // CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t return_val = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t return_val = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); // TC_t* tc_sdls_processed_frame; @@ -1106,13 +1122,14 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // int32_t status = Crypto_Init(); @@ -1156,13 +1173,14 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1203,13 +1221,14 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 6, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1252,13 +1271,14 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_KMC_1BP) // { // Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, // IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_IGNORE_SA_STATE_FALSE, +// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_FALSE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_MariaDB("db-itc-kmc.nasa.gov","sadb", 3306,CRYPTO_TRUE,CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", // NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", // "itc-kmc.nasa.gov", 8443, "crypto-service","/certs/ammos-ca-bundle.crt",NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, // "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 4, TC_HAS_FECF, -// TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); int32_t status = Crypto_Init(); +// TC_HAS_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); int32_t status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); diff --git a/test/kmc/ut_tm_kmc.c b/test/kmc/ut_tm_kmc.c index 03ee98da..d47d86c3 100644 --- a/test/kmc/ut_tm_kmc.c +++ b/test/kmc/ut_tm_kmc.c @@ -144,17 +144,16 @@ UTEST(TM_APPLY_KMC, HAPPY_PATH_ENC_TM_GCM_KMC) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x0003, 1, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x0003, 1, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -259,17 +258,16 @@ UTEST(TM_PROCESS_KMC, HAPPY_PATH_DEC_TM_GCM_KMC) reload_db(); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_DISABLED, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB(KMC_HOSTNAME, "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, CA_PATH, NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, "changeit", "cryptosvc", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc.kmc.nasa.gov", 8443, "crypto-service", "/home/jstar/Desktop/kmc_certs/ca.pem", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x0003, 1, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x0003, 1, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); diff --git a/test/unit/ut_aes_gcm_siv.c b/test/unit/ut_aes_gcm_siv.c index 5ece7d5d..a140de48 100644 --- a/test/unit/ut_aes_gcm_siv.c +++ b/test/unit/ut_aes_gcm_siv.c @@ -66,13 +66,13 @@ UTEST(AES_GCM_SIV, AES_GCM_SIV_256_KEY_32_PT_8_ENC_TEST_1) uint16_t enc_frame_len = 0; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -165,21 +165,20 @@ UTEST(AES_GCM_SIV, AES_GCM_SIV_256_KEY_32_PT_8_DEC_TEST_1) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 43, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 43, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 43, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 43, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -266,21 +265,20 @@ UTEST(AES_GCM_SIV, AES_GCM_SIV_256_KEY_32_PT_8_ENC_TEST_2) uint16_t enc_frame_len = 0; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -369,21 +367,20 @@ UTEST(AES_GCM_SIV, AES_GCM_SIV_256_KEY_32_PT_20_WITH_AAD_ENC_TEST_1) // Setup & Initialize CryptoLib // Crypto_Init_TC_Unit_Test(); Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_FALSE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -471,13 +468,13 @@ UTEST(AES_GCM_SIV, AES_GCM_SIV_256_KEY_32_PT_20_WITH_AAD_DEC_TEST_1) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); diff --git a/test/unit/ut_aos_apply.c b/test/unit/ut_aos_apply.c index 16d94331..0bc9d24e 100644 --- a/test/unit/ut_aos_apply.c +++ b/test/unit/ut_aos_apply.c @@ -36,15 +36,16 @@ UTEST(AOS_APPLY, NULL_BUFFER) uint8_t *ingest = NULL; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 0, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_HAS_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_HAS_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {0, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_HAS_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_AOS_ApplySecurity(&ingest[0], 0); @@ -85,9 +86,10 @@ UTEST(AOS_APPLY, NO_INIT) // No Crypto_Init(), but we still Configure It: Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Test frame setup // 6 byte header, 2 byte blank SPI, data, FECF @@ -297,14 +299,15 @@ UTEST(AOS_APPLY, HAPPY_PATH_CLEAR_FECF_LEFT_BLANK) // Oddball setup that ensures FECF is left blank Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_FALSE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, AOS_HAS_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_FALSE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_HAS_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, TM_SEGMENT_HDRS_NA, AOS_HAS_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -434,14 +437,15 @@ UTEST(AOS_APPLY, HAPPY_PATH_CLEAR_FHEC_FECF) // Configure, Add Managed Params, and Init int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_HAS_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_HAS_OCF, 1786, + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, + AOS_NO_IZ, 0, 1786, AOS_HAS_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_OCF, 1786, // AOS_HAS_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -570,14 +574,15 @@ UTEST(AOS_APPLY, HAPPY_PATH_CLEAR_FHEC_OID_FECF) // Configure, Add Managed Params, and Init int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, AOS_HAS_IZ, 6, AOS_SEGMENT_HDRS_NA, 1786, AOS_HAS_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_HAS_OCF, 1786, + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, + AOS_HAS_IZ, 6, 1786, AOS_HAS_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_OCF, 1786, // AOS_HAS_FHEC, AOS_HAS_IZ, 6); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -713,14 +718,15 @@ UTEST(AOS_APPLY, AES_CMAC_256_TEST_BITMASK_1) // Configure, Add Managed Params, and Init Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -856,14 +862,15 @@ UTEST(AOS_APPLY, AES_CMAC_256_TEST_BITMASK_0) // Configure, Add Managed Params, and Init Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1003,15 +1010,16 @@ UTEST(AOS_APPLY, AES_GCM) // Configure, Add Managed Params, and Init Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1152,15 +1160,16 @@ UTEST(AOS_APPLY, AOS_KEY_STATE_TEST) // Configure, Add Managed Params, and Init Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1293,15 +1302,16 @@ UTEST(AOS_APPLY, AEAD_GCM_BITMASK_1) // Configure, Add Managed Params, and Init Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1388,15 +1398,16 @@ UTEST(AOS_APPLY, AOS_APPLY_BUFFER_OVERFLOW_TEST) // Configure, Add Managed Params, and Init Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, + // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); // Test Frame Setup @@ -1422,14 +1433,15 @@ UTEST(AOS_APPLY, AOS_APPLY_BUFFER_OVERFLOW_TEST) // // Configure, Add Managed Params, and Init // Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, -// IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, -// TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, -// AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); +// IV_INTERNAL); + +// Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, +// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // // Set up the managed parameters -// GvcidManagedParameters_t AOS_UT_Managed_Parameters = { -// 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, AOS_SEGMENT_HDRS_NA, 176, AOS_NO_OCF, 1}; -// Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); +// AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = { +// 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, 176, AOS_NO_OCF, 1}; +// Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); // status = Crypto_Init(); // ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1438,7 +1450,7 @@ UTEST(AOS_APPLY, AOS_APPLY_BUFFER_OVERFLOW_TEST) // "FFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" // "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" // "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" -// "AABBAABB"; +// "AABBFECF"; // char *test_aos_b = NULL; // int test_frame_length = 0; // hex_conversion(test_aos_h, &test_aos_b, &test_frame_length); diff --git a/test/unit/ut_aos_process.c b/test/unit/ut_aos_process.c index 3c0706d8..fa66de48 100644 --- a/test/unit/ut_aos_process.c +++ b/test/unit/ut_aos_process.c @@ -105,10 +105,9 @@ UTEST(AOS_PROCESS, NO_INIT) // No Crypto_Init(), but we still Configure It: Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Test Frame Setup // 6 byte header, 2 byte blank SPI, data, FECF char *framed_aos_h = @@ -193,13 +192,13 @@ UTEST(AOS_PROCESS, HAPPY_PATH_CLEAR_FECF) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -296,9 +295,9 @@ UTEST(AOS_PROCESS, HAPPY_PATH_CLEAR_FECF) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -333,13 +332,13 @@ UTEST(AOS_PROCESS, SECONDARY_HDR_PRESENT_PLAINTEXT) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -435,9 +434,9 @@ UTEST(AOS_PROCESS, SECONDARY_HDR_PRESENT_PLAINTEXT) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); @@ -472,13 +471,13 @@ UTEST(AOS_PROCESS, INSERT_ZONE_PRESENT_PLAINTEXT) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_HAS_IZ, 10, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_HAS_IZ, 10, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -577,9 +576,9 @@ UTEST(AOS_PROCESS, INSERT_ZONE_PRESENT_PLAINTEXT) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + 10 + sh_len; @@ -614,13 +613,13 @@ UTEST(AOS_PROCESS, AES_CMAC_256_TEST_0) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -728,9 +727,9 @@ UTEST(AOS_PROCESS, AES_CMAC_256_TEST_0) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -767,13 +766,13 @@ UTEST(AOS_PROCESS, AES_CMAC_256_TEST_1) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -885,9 +884,9 @@ UTEST(AOS_PROCESS, AES_CMAC_256_TEST_1) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -922,13 +921,13 @@ UTEST(AOS_PROCESS, AES_HMAC_256_TEST_0) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -936,7 +935,7 @@ UTEST(AOS_PROCESS, AES_HMAC_256_TEST_0) // Note: SPI 11 (0x0B) // Setup: | hdr 6 |SPI| data | MAC | FECF char *framed_aos_h = - "40C000001800000B08010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" + "40C000001800000B00010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" @@ -1040,9 +1039,9 @@ UTEST(AOS_PROCESS, AES_HMAC_256_TEST_0) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -1079,13 +1078,13 @@ UTEST(AOS_PROCESS, AES_HMAC_256_TEST_1) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1093,7 +1092,7 @@ UTEST(AOS_PROCESS, AES_HMAC_256_TEST_1) // Note: SPI 11 (0x0B) // Setup: | hdr 6 |SPI| data | MAC | FECF char *framed_aos_h = - "40C000001800000B08010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" + "40C000001800000B00010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" @@ -1193,9 +1192,9 @@ UTEST(AOS_PROCESS, AES_HMAC_256_TEST_1) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -1230,13 +1229,13 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_0) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1244,7 +1243,7 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_0) // Note: SPI 11 (0x0B) // Setup: | hdr 6 |SPI| data | MAC | FECF char *framed_aos_h = - "40C000001800000B08010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" + "40C000001800000B00010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" @@ -1332,7 +1331,7 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_0) sa_ptr->ast = 1; sa_ptr->acs_len = 1; sa_ptr->ecs_len = 0; - sa_ptr->acs = CRYPTO_MAC_HMAC_SHA256; + sa_ptr->acs = CRYPTO_MAC_HMAC_SHA512; sa_ptr->stmacf_len = 16; sa_ptr->abm_len = ABM_SIZE; sa_ptr->gvcid_blk.scid = 0x44; @@ -1348,9 +1347,9 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_0) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -1385,13 +1384,13 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_1) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1399,7 +1398,7 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_1) // Note: SPI 11 (0x0B) // Setup: | hdr 6 |SPI| data | MAC | FECF char *framed_aos_h = - "40C000001800000B08010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" + "40C000001800000B00010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" @@ -1487,7 +1486,7 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_1) sa_ptr->ast = 1; sa_ptr->acs_len = 1; sa_ptr->ecs_len = 0; - sa_ptr->acs = CRYPTO_MAC_HMAC_SHA256; + sa_ptr->acs = CRYPTO_MAC_HMAC_SHA512; sa_ptr->stmacf_len = 16; sa_ptr->abm_len = ABM_SIZE; sa_ptr->gvcid_blk.scid = 0x44; @@ -1503,9 +1502,9 @@ UTEST(AOS_PROCESS, AES_HMAC_512_TEST_1) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -1537,12 +1536,12 @@ UTEST(AOS_PROCESS, AES_GCM_DEC_ONLY) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1550,7 +1549,7 @@ UTEST(AOS_PROCESS, AES_GCM_DEC_ONLY) // Test frame setup Header |SPI| IV | Data char *framed_aos_h = - "40C000000000000A00000000000000000000000000000000CE71F3496571490305748611F14D391E4164572834AB5A587C3C7410653592" + "40C000000000000ADEADBEEFDEADBEEFDEADBEEFDEADBEEFCE71F3496571490305748611F14D391E4164572834AB5A587C3C7410653592" "9FFB39F358756E14C0C23FC2F46000DBFCD1BD14574E7BDA13DC488F44AB377F09052FE462E1E4692AEB5280BB75FB4455DA4A29AB381C" "B42795D6FCA9FCB5E7F4E305926D1EA5C0FE2F5C9C97788A3680D558804765667EDDCE4AF4AADCDCA477871580FA77F5F042C9A31EB798" "BD9BC2B45C3D9499556D284DD54FC8309748A20DBF27729A4A7436B706CA842F0DBC78001266B93767BE5A4E741319292D754F481F5E96" @@ -1582,46 +1581,46 @@ UTEST(AOS_PROCESS, AES_GCM_DEC_ONLY) "20D8CE10C8704279A84EF1BF25069808AF027D9C4C60343C886D5A26A856F14D7C6A64C2D12635D6C7CF075D98E141A399B70AA2295241" "6774BF2804E2F56DB75077F8C642E08BF27A62CA5A0B91B412D59D2B655EC9F3F6BD46776F9A5FA6BA7731C0E076E57CDE6B4B0749C76C" "F225EA560D86113FB96AB4F23478895039403438E6CA7EA2534D8EB04C9BFAB2C844839D840D02256FEEB674B82F9ABBCD9255F27261FB" - "35A2C61B3A8DECD2138DB3482D65F1818DE8AE03C080045F68C1"; + "35A2C61B3A8DECD249D9FE3C4DB3FB32244007BD371D2DE189E8"; char *framed_aos_b = NULL; int framed_aos_len = 0; hex_conversion(framed_aos_h, &framed_aos_b, &framed_aos_len); // Truth frame setup char *truth_aos_h = - "40C0000000000000CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABB" - "AABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA" - "BBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAABBAA0000"; + "40C000000000000000000000000000000000000000000000DB20851DABD3097BE26F29C8C2E115FE02EB4547A9679E8758EDADE35F9EBE" + "B2453D23DF7F20F7E7311863E6CBDD0F03A09200FB383B664575729FE6E40B3400095CD84065862E4AF22344FB15119FCCAB3CF0C3AFA6" + "7FD5BACF7F02C2BDD78A8803C965BD0B7A185D92FD685BE77447211E0410F93DED3117CA3810F5F028C90D28BFDB4D73F842629DFD7F4C" + "DCB1677A66F8EE09B21B84336AB108A7DEE11436438375896DB6BEA69180A43FBF2035102D0971C0AEC4EB98DBB60949C906E33F67B4C0" + "968B6A9282238B86D30FAA4FE33F2023749C197976379C244642E2DEE5C5707D5F2D3C524507E0EC5E7F1B57707644221001FACA5B30E1" + "EC3909320AC73EEF4EB4D3F8483939198AAAB1804A4E310848C78AE2409C830D5670A9A6D0FB7DD69CA9459FE683BBD19DF6757B9DDD0F" + "1A4D5662CD3F4642C0062BCC7F8A263199D4BFFDB94A11DD1A72364A34BC23F09180E2A075177A1098011904C2932076A300007F8274F5" + "FE40CB2BD694C82D24784787889F359E1AB4F4244ED6CFD5967CB93181F2545B0F45EB878118B4CE00F3D6A9438C30848C957DAF361D0C" + "949D75F250D53B1EA8668CA329DEC3BBDD25350DB7BB0A48114FAC6EF9D2C996A5BB2F8CC3DABEACE36F343F17A04019E9E2D3DE8A675F" + "C41EC8EE089B7CC46030970B7FB1A62501526F1018206517B4D1117DDD477066F593101367ECA47BCF40F70A616C2AD3C0F29B1DC66666" + "08CC263B8338D6608A8252CF53D717D343078F32ABA98B0C95AFA297146808B239678BDFA3F827CF7A74F03234D87365484602C0FC693E" + "DE94583C5277E5957F8B71E5C3E27927393D713B9B11807FA0F4F07E62530E350F1E4D8C15CDA64A841911AF3AE4A79D49EE3F430DF33C" + "43DA9F9E1789F1BBF0123B6ED6F022C2F5DDC0797B7FD081D741E2255B2A596CB0277AB118E89D2BFAFBEF87E73A0C70C3DA072826DB6A" + "7D6B21CCBF5AFD766099384602BB2A104D8C93301199EA2168DE802A2FA6BBA6D30D2FEA144051218E6333D108FF03B83E51BFDF6F0BC5" + "5100EFEFA4E35E6F91C52BE79DD6C9F6089921FC2BA6B7BD967C410C0A2B8E6DA285FAB0369787AD054C15661CFF725BA65DD4DD0AB07F" + "09CC3B786484AB7341DB9825791ACEBF7A4986462AB67A631BC646B8F4B9945A7CF3AA89FCB78EC5EB11EF83B99BBBC4115DB0A31CAB6C" + "9849FF0A55E773FA3D5C201C14C67A52FA86D315CF76A0F75329E70DA531117B8F6AC59C03E0AE16A976F235C19AEBE04723028C0D0515" + "1240B94DC380F1166F2CA3E368AEF03BA10B433264DC01AC4F645DD74FDD6545738E845DC268269CE9E1E3135C164ADB85F9A5B8776042" + "2FFA2A8C9C38ED31C07E7078DD62EECDF75AF37B1D3067ED7249580235985949D77B97D845C46CFC4B94EEF73019D6083B64CCC88EAF68" + "C60FFFBC75F65B176B18FA2A2EE7F92E70E41FF0DD1311B9184136E30CFF3691707B9D9DD3CC40DDB3803A736BE63D7D666A0E0E13E1FD" + "E9A0702AF6670AF44F6CCCD00023151162402E9BEDC9413D038B2759295E31216F044D0FC2C5E1A3978742097A74AC6A472B1DD249509B" + "A9D3F481D8EFC19A04A820E0A83C41F02F1CADC44F0F4BCF0D4B0170D7FA468EFEF74477663E968E52EBC0F17D84251C5514B017D73E1B" + "8505F810B2F1638ABD458A50AC47A1DA6D408F4D40CF5A0C4F3336E2512DE26B2B9642231F1C9F436D566BD595A21215A82A835915B431" + "A18D4E7526C798506EF361B69AD56E71E87203B02F85D330701D3A14C2FA4CC60080A000140429E362A7F6559C001B030DD5E3FDFC1A05" + "AAC7C5C7378D90A29B7DF46DE6D43680F09F4054378EE64D0D0307D6CED98F0E22C8DB92F9D0C8F5A06C0AF7A5D72FD0DD18E9E6FC9A4F" + "BAF355D3622A0854B9377003067F31135610A746DBB2B29A7A4E4C42A0BB9F826F6B07A46A4C6FF6A60173C1AE3EE232A67B63C33940A5" + "9FB0AC060E0FD95688D3B441B067315B48FD6C331BDA3CFD1CC45F12AE908E38A6B71635C86CCB3D1AD19991ACAA568C6FC7765E2C39A9" + "215772895B0F2C5155320A19AA25BDBCCFA02435F001E4BE5ACB0503DB91BFBC5E6AD970956BAFB9C99463FDBA70AF64351879C855DE17" + "6FCE1DF4AD43693AA3984A01A89EFDCA8722F92A60F294FC953D7989F56554733769A050D33DFE6E9DFC35D988055286F0A920291A812D" + "FEDDE1FFD5D53B31F626AB582BCE35D2DB7E076C581447B0D7237B5EBCDA9B621123DE5A4DB35DE8F45F95CD0A95A7BA41B59209A32DFC" + "AC06641C8167D6E41BC741B43AECDF6F0EE7580607D37D1D6A0BDE9CB8302724AFFDFE38D34CA43E503E9FAD2F838FF2EC5AA42A082424" + "236F0B426888CA6EA740264F3A61302284C2726DB9704325F7FB3E7DB7894088EFB5E3439290B4DC19ECD44DD68587B12376B16BF62A9B" + "6A677ACB2DF7B458000000000000000000000000000000000000"; char *truth_aos_b = NULL; int truth_aos_len = 0; @@ -1633,9 +1632,9 @@ UTEST(AOS_PROCESS, AES_GCM_DEC_ONLY) aos_frame_pri_hdr.vcid = ((uint8_t)framed_aos_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Expose/setup SAs for testing SecurityAssociation_t ta; @@ -1725,13 +1724,13 @@ UTEST(AOS_PROCESS, AEAD_GCM_BITMASK_1) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1835,9 +1834,9 @@ UTEST(AOS_PROCESS, AEAD_GCM_BITMASK_1) status = Crypto_AOS_ProcessSecurity((uint8_t *)framed_aos_b, framed_aos_len, aos_frame, &processed_aos_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, aos_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &aos_current_managed_parameters_struct); + status = Crypto_Get_AOS_Managed_Parameters_For_Gvcid(aos_frame_pri_hdr.tfvn, aos_frame_pri_hdr.scid, + aos_frame_pri_hdr.vcid, aos_gvcid_managed_parameters_array, + &aos_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); uint16_t offset = 6 + sh_len; @@ -1866,13 +1865,13 @@ UTEST(AOS_PROCESS, AOS_SA_SEGFAULT_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_HAS_IZ, 10, AOS_SEGMENT_HDRS_NA, 18, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_HAS_IZ, 10, 18, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1905,18 +1904,18 @@ UTEST(AOS_PROCESS, AOS_SA_NOT_OPERATIONAL) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 18, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 22, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Test frame setup - char *framed_aos_h = "40C00000000800090000000000000000FFFF"; + char *framed_aos_h = "40C0000000080009000000000000000000000000FFFF"; char *framed_aos_b = NULL; int framed_aos_len = 0; hex_conversion(framed_aos_h, &framed_aos_b, &framed_aos_len); @@ -1959,13 +1958,13 @@ UTEST(AOS_PROCESS, AOS_OCF_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 22, AOS_HAS_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 22, AOS_HAS_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -2011,18 +2010,18 @@ UTEST(AOS_PROCESS, AOS_KEY_STATE_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 18, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 22, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Test frame setup - char *framed_aos_h = "40C00000000000050000000000000000FFFF"; + char *framed_aos_h = "40C0000000000005000000000000000000000000FFFF"; char *framed_aos_b = NULL; int framed_aos_len = 0; hex_conversion(framed_aos_h, &framed_aos_b, &framed_aos_len); @@ -2068,14 +2067,14 @@ UTEST(AOS_PROCESS, AOS_PROCESS_HEAP_UNDERFLOW_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_TRUE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0000, 48, AOS_NO_FECF, AOS_NO_FHEC, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 1786, AOS_NO_OCF, 1}; + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0000, 48, AOS_NO_FECF, AOS_NO_FHEC, + AOS_NO_IZ, 0, 1786, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); // Test frame setup @@ -2118,17 +2117,17 @@ UTEST(AOS_PROCESS, AOS_FHECF_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_AOS_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - AOS_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_AOS(CRYPTO_AOS_CREATE_FECF_FALSE, AOS_IGNORE_ANTI_REPLAY_FALSE, AOS_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Test - GvcidManagedParameters_t AOS_UT_Managed_Parameters = { - 1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, AOS_IZ_NA, 0, AOS_SEGMENT_HDRS_NA, 24, AOS_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); + AOSGvcidManagedParameters_t AOS_UT_Managed_Parameters = {1, 0x0003, 0, AOS_HAS_FECF, AOS_HAS_FHEC, + AOS_NO_IZ, 0, 42, AOS_NO_OCF, 1}; + Crypto_Config_Add_AOS_Gvcid_Managed_Parameters(AOS_UT_Managed_Parameters); status = Crypto_Init(); // Test frame setup - char *framed_aos_h = "40C0FEDCBA98c8da0005000000000000000000000000FFFF"; + char *framed_aos_h = "40C000000000da8400050000000000000000000000000005F3603AC6A46DC0627643F002A4063EF04841"; char *framed_aos_b = NULL; int framed_aos_len = 0; hex_conversion(framed_aos_h, &framed_aos_b, &framed_aos_len); @@ -2138,11 +2137,16 @@ UTEST(AOS_PROCESS, AOS_FHECF_TEST) sa_if->sa_get_from_spi(10, &sa_ptr); // Disable SPI 10 sa_ptr->sa_state = SA_KEYED; sa_if->sa_get_from_spi(5, &sa_ptr); // Enable and setup 5 - sa_ptr->sa_state = SA_OPERATIONAL; - sa_ptr->est = 1; - sa_ptr->ecs = CRYPTO_CIPHER_AES256_GCM; - sa_ptr->arsn_len = 0; - sa_ptr->shsnf_len = 0; + sa_ptr->sa_state = SA_OPERATIONAL; + sa_ptr->est = 1; + sa_ptr->ecs = CRYPTO_CIPHER_AES256_GCM; + sa_ptr->ast = 1; + sa_ptr->arsn_len = 2; + sa_ptr->shsnf_len = 2; + sa_ptr->shivf_len = 12; + sa_ptr->iv_len = 12; + sa_ptr->abm_len = 26; + sa_ptr->stmacf_len = 16; crypto_key_t *ekp = NULL; ekp = key_if->get_key(sa_ptr->ekid); @@ -2161,6 +2165,11 @@ UTEST(AOS_PROCESS, AOS_FHECF_TEST) Crypto_aosPrint(aos_frame); + for (int i = 0; i < sa_ptr->shsnf_len; i++) + { + printf("ARSN[%d] : %02x\n", i, sa_ptr->arsn[i]); + } + Crypto_Shutdown(); free(framed_aos_b); free(aos_frame); diff --git a/test/unit/ut_crypto.c b/test/unit/ut_crypto.c index 716c49ab..60e554cd 100644 --- a/test/unit/ut_crypto.c +++ b/test/unit/ut_crypto.c @@ -56,17 +56,17 @@ UTEST(CRYPTO_C, BAD_CC_FLAG) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, - // TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, + // TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); Crypto_Init(); char *raw_tc_sdls_ping_h = "3003002000ff000100001980d2c9000e197f0b001b0004000400003040d95ea61a"; @@ -99,18 +99,18 @@ UTEST(CRYPTO_C, PDU_SWITCH) int32_t status = CRYPTO_LIB_ERROR; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -272,13 +272,13 @@ UTEST(CRYPTO_C, PDU_SWITCH) UTEST(CRYPTO_C, EXT_PROC_PDU) { remove("sa_save_file.bin"); - uint8_t *ingest = NULL; - TC_t *tc_frame = NULL; - tc_frame = malloc(sizeof(uint8_t) * TC_SIZE); - int32_t status = CRYPTO_LIB_ERROR; - crypto_config.has_pus_hdr = TC_NO_PUS_HDR; - tc_frame->tc_header.vcid = TC_SDLS_EP_VCID; - tc_frame->tc_header.fl = 1; + uint8_t *ingest = NULL; + TC_t *tc_frame = NULL; + tc_frame = malloc(sizeof(uint8_t) * TC_SIZE); + int32_t status = CRYPTO_LIB_ERROR; + crypto_config_tc.has_pus_hdr = TC_NO_PUS_HDR; + tc_frame->tc_header.vcid = TC_SDLS_EP_VCID; + tc_frame->tc_header.fl = 1; status = Crypto_Process_Extended_Procedure_Pdu(tc_frame, ingest, TC_SIZE); free(tc_frame); @@ -406,17 +406,16 @@ UTEST(CRYPTO_C, OTAR_0_140_142_FAIL_TEST) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); diff --git a/test/unit/ut_crypto_config.c b/test/unit/ut_crypto_config.c index f82278fc..296b34ec 100644 --- a/test/unit/ut_crypto_config.c +++ b/test/unit/ut_crypto_config.c @@ -43,8 +43,8 @@ UTEST(CRYPTO_CONFIG, CRYPTO_INIT_NO_MANAGED_PARAM_CONFIG) { remove("sa_save_file.bin"); int32_t status = CRYPTO_LIB_ERROR; - CryptoConfig_t *crypto_config_p = malloc(CRYPTO_CONFIG_SIZE); - GvcidManagedParameters_t gvcid_managed_paramenters_p = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + CryptoConfigGlobal_t *crypto_config_p = malloc(CRYPTO_GLOBAL_CONFIG_SIZE); + TCGvcidManagedParameters_t gvcid_managed_paramenters_p = {0, 0, 0, 0, 0, 0, 0}; SadbMariaDBConfig_t *sa_mariadb_config_p = NULL; CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config_p = NULL; status = Crypto_Init_With_Configs(crypto_config_p, &gvcid_managed_paramenters_p, sa_mariadb_config_p, @@ -59,78 +59,39 @@ UTEST(CRYPTO_CONFIG, CRYPTO_INIT_NO_MANAGED_PARAM_CONFIG) UTEST(CRYPTO_CONFIG, CRYPTO_INIT_MARIADB_NULL) { remove("sa_save_file.bin"); - int32_t status = CRYPTO_LIB_ERROR; - CryptoConfig_t *crypto_config_p = malloc(CRYPTO_CONFIG_SIZE); - crypto_config_p->key_type = KEY_TYPE_INTERNAL; - crypto_config_p->mc_type = MC_TYPE_INTERNAL; - GvcidManagedParameters_t gvcid_managed_paramenters_p = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; // = malloc(sizeof(GvcidManagedParameters_t)); - // gvcid_managed_paramenters_p->next = NULL; + int32_t status = CRYPTO_LIB_ERROR; + CryptoConfigGlobal_t *crypto_config_p = malloc(CRYPTO_GLOBAL_CONFIG_SIZE); + crypto_config_p->key_type = KEY_TYPE_INTERNAL; + crypto_config_p->mc_type = MC_TYPE_INTERNAL; + + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0000, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 0, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + SadbMariaDBConfig_t *sa_mariadb_config_p = NULL; CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config_p = NULL; crypto_config_p->sa_type = SA_TYPE_MARIADB; - status = Crypto_Init_With_Configs(crypto_config_p, &gvcid_managed_paramenters_p, sa_mariadb_config_p, + status = Crypto_Init_With_Configs(crypto_config_p, &tc_gvcid_managed_parameters_array[0], sa_mariadb_config_p, cryptography_kmc_crypto_config_p); free(crypto_config_p); ASSERT_EQ(CRYPTO_MARIADB_CONFIGURATION_NOT_COMPLETE, status); + Crypto_Shutdown(); } -///** -// * @brief Unit Test: Crypto Init with NULL KMC Crypto configuration -// **/ -// UTEST(CRYPTO_CONFIG, CRYPTO_INIT_KMCCRYPTO_NULL) -//{ -// int32_t status = CRYPTO_LIB_ERROR; -// CryptoConfig_t* crypto_config_p = malloc(CRYPTO_CONFIG_SIZE); -// crypto_config_p->key_type=KEY_TYPE_INTERNAL; -// crypto_config_p->mc_type=MC_TYPE_INTERNAL; -// GvcidManagedParameters_t* gvcid_managed_paramenters_p = malloc(sizeof(GvcidManagedParameters_t)); -// gvcid_managed_paramenters_p->next = NULL; -// SadbMariaDBConfig_t* sa_mariadb_config_p = malloc(sizeof(SadbMariaDBConfig_t) * sizeof(uint8_t)); -// CryptographyKmcCryptoServiceConfig_t* cryptography_kmc_crypto_config_p = NULL; -// -// crypto_config_p->sa_type = SA_TYPE_MARIADB; -// crypto_config_p->cryptography_type = CRYPTOGRAPHY_TYPE_KMCCRYPTO; -// -// status = Crypto_Init_With_Configs(crypto_config_p, gvcid_managed_paramenters_p, sa_mariadb_config_p, -// cryptography_kmc_crypto_config_p); free(crypto_config_p); free(gvcid_managed_paramenters_p); -// free(sa_mariadb_config_p); -// ASSERT_EQ(CRYPTOGRAPHY_KMC_CRYPTO_SERVICE_CONFIGURATION_NOT_COMPLETE, status); -//} - -///** -// * @brief Unit Test: Crypto Init with Invalid Interface -// **/ -// UTEST(CRYPTO_CONFIG, CRYPTO_INIT_INVALID_INTERFACE) -//{ -// int32_t status = CRYPTO_LIB_ERROR; -// -// status = Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, -// CRYPTOGRAPHY_TYPE_UNITIALIZED, -// IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, -// TC_HAS_PUS_HDR, TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, -// TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, -// SA_INCREMENT_NONTRANSMITTED_IV_TRUE); -// status = Crypto_Init(); -// -// ASSERT_EQ(CRYPTOGRAPHY_INVALID_CRYPTO_INTERFACE_TYPE, status); -//} - /** * @brief Unit Test: Crypto Init with invalid SADB **/ UTEST(CRYPTO_CONFIG, CRYPTO_INIT_INVALID_SADB) { remove("sa_save_file.bin"); - int32_t status = CRYPTO_LIB_ERROR; - CryptoConfig_t *crypto_config_p = malloc(CRYPTO_CONFIG_SIZE); - crypto_config_p->key_type = KEY_TYPE_INTERNAL; - crypto_config_p->mc_type = MC_TYPE_INTERNAL; - GvcidManagedParameters_t gvcid_managed_paramenters_p = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; // = malloc(sizeof(GvcidManagedParameters_t) * sizeof(uint8_t)); - // gvcid_managed_paramenters_p->next = NULL; + int32_t status = CRYPTO_LIB_ERROR; + CryptoConfigGlobal_t *crypto_config_p = malloc(CRYPTO_GLOBAL_CONFIG_SIZE); + crypto_config_p->key_type = KEY_TYPE_INTERNAL; + crypto_config_p->mc_type = MC_TYPE_INTERNAL; + TCGvcidManagedParameters_t gvcid_managed_paramenters_p = {0, 0, 0, 0, 0, 0, 1}; + tc_gvcid_counter++; + SadbMariaDBConfig_t *sa_mariadb_config_p = malloc(sizeof(SadbMariaDBConfig_t) * sizeof(uint8_t)); CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config_p = NULL; @@ -195,28 +156,4 @@ UTEST(CRYPTO_CONFIG, CRYPTO_CONFIG_KMC) ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); } -#ifdef TODO_NEEDSWORK -UTEST(CRYPTO_CONFIG, CRYPTO_INIT_KMC_OK) -{ - int32_t status = CRYPTO_LIB_ERROR; - CryptoConfig_t *crypto_config_p = malloc(CRYPTO_CONFIG_SIZE); - crypto_config_p->key_type = KEY_TYPE_INTERNAL; - GvcidManagedParameters_t *gvcid_managed_paramenters_p = malloc(sizeof(GvcidManagedParameters_t) * sizeof(uint8_t)); - SadbMariaDBConfig_t *sa_mariadb_config_p = malloc(sizeof(SadbMariaDBConfig_t) * sizeof(uint8_t)); - CryptographyKmcCryptoServiceConfig_t *cryptography_kmc_crypto_config_p = - malloc(sizeof(CryptographyKmcCryptoServiceConfig_t) * sizeof(uint8_t)); - - crypto_config_p->sa_type = SA_TYPE_MARIADB; - crypto_config_p->cryptography_type = CRYPTOGRAPHY_TYPE_KMCCRYPTO; - - status = Crypto_Init_With_Configs(crypto_config_p, gvcid_managed_paramenters_p, sa_mariadb_config_p, - cryptography_kmc_crypto_config_p); - free(crypto_config_p); - free(gvcid_managed_paramenters_p); - free(sa_mariadb_config_p); - free(cryptography_kmc_crypto_config_p); - ASSERT_EQ(CRYPTOGRAPHY_KMC_CRYPTO_SERVICE_CONFIGURATION_NOT_COMPLETE, status); -} -#endif - UTEST_MAIN(); \ No newline at end of file diff --git a/test/unit/ut_ep_key_mgmt.c b/test/unit/ut_ep_key_mgmt.c index 2dafbaf7..a730ff0e 100644 --- a/test/unit/ut_ep_key_mgmt.c +++ b/test/unit/ut_ep_key_mgmt.c @@ -9,17 +9,16 @@ UTEST(EP_KEY_MGMT, OTAR_0_140_142) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 157, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 157, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 157, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 157, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -81,17 +80,16 @@ UTEST(EP_KEY_MGMT, ACTIVATE_141_142) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 29, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 29, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 29, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 29, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -157,17 +155,16 @@ UTEST(EP_KEY_MGMT, DEACTIVATE_142) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 27, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 27, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 27, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 27, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -235,13 +232,13 @@ UTEST(EP_KEY_MGMT, INVENTORY_132_134) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 31, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 31, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = CRYPTO_LIB_SUCCESS; status = Crypto_Init(); @@ -327,17 +324,16 @@ UTEST(EP_KEY_MGMT, VERIFY_132_134) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 61, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 61, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 61, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 61, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = CRYPTO_LIB_SUCCESS; status = Crypto_Init(); @@ -436,17 +432,16 @@ UTEST(EP_KEY_MGMT, OTAR_0_140_142_MK_NOT_ACTIVE) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 159, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 159, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 159, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 159, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -536,21 +531,20 @@ UTEST(EP_KEY_MGMT, OTAR_0_140_142_BAD_DECRYPT) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 159, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 159, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 159, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 159, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -639,17 +633,16 @@ UTEST(EP_KEY_MGMT, DEACTIVATE_142_NO_PUS) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 23, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 23, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 23, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 23, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -660,7 +653,7 @@ UTEST(EP_KEY_MGMT, DEACTIVATE_142_NO_PUS) // NOTE: Added Transfer Frame header to the plaintext char *buffer_nist_key_h = "000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F"; char *buffer_nist_iv_h = "b6ac8e4963f49207ffd6374b"; // The last valid IV that was seen by the SA - char *buffer_DEACTIVATE_h = "2003001600ff00001980d039000a030002008e1f6d21c4"; + char *buffer_DEACTIVATE_h = "2003001600ff00001980d039000a030010008e1f6d21c4"; uint8_t *buffer_nist_iv_b, *buffer_nist_key_b, *buffer_DEACTIVATE_b = NULL; int buffer_nist_iv_len, buffer_nist_key_len, buffer_DEACTIVATE_len = 0; @@ -721,17 +714,16 @@ UTEST(EP_KEY_MGMT, DEACTIVATE_142_NO_PUS_BAD_TLV) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 23, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 23, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 23, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 23, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -799,17 +791,16 @@ UTEST(EP_KEY_MGMT, DEACTIVATE_142_PUS_BAD_TLV) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 27, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 27, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 27, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 27, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -881,17 +872,16 @@ UTEST(EP_KEY_MGMT, TLV_KEY_DEACTIVATE_TESTS) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); Crypto_Init(); SaInterface sa_if = get_sa_interface_inmemory(); @@ -1033,17 +1023,16 @@ UTEST(EP_KEY_MGMT, TLV_KEY_VERIFY_TESTS) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); - GvcidManagedParameters_t TC_1_Managed_Parameters = { - 0, 0x0003, 1, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); + TCGvcidManagedParameters_t TC_1_Managed_Parameters = {0, 0x0003, 1, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_1_Managed_Parameters); int status = CRYPTO_LIB_SUCCESS; status = Crypto_Init(); diff --git a/test/unit/ut_ep_mc.c b/test/unit/ut_ep_mc.c index c9e594e3..d8f11ef2 100644 --- a/test/unit/ut_ep_mc.c +++ b/test/unit/ut_ep_mc.c @@ -9,13 +9,13 @@ UTEST(EP_MC, MC_REGULAR_PING) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 25, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 25, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -106,15 +106,15 @@ UTEST(EP_MC, MC_STATUS) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 25, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 25, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -191,13 +191,13 @@ UTEST(EP_MC, MC_DUMP) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 25, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 25, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -273,15 +273,15 @@ UTEST(EP_MC, MC_ERASE) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 25, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 25, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -358,13 +358,13 @@ UTEST(EP_MC, MC_SELF_TEST) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 25, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 25, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -442,13 +442,13 @@ UTEST(EP_MC, MC_ALARM_FLAG_RESET) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 25, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 25, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); diff --git a/test/unit/ut_ep_sa_mgmt.c b/test/unit/ut_ep_sa_mgmt.c index 7e025b36..f5bd830b 100644 --- a/test/unit/ut_ep_sa_mgmt.c +++ b/test/unit/ut_ep_sa_mgmt.c @@ -9,15 +9,15 @@ UTEST(EP_SA_MGMT, SA_6_REKEY_133) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 41, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 41, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -69,13 +69,13 @@ UTEST(EP_SA_MGMT, SA_START_6) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 31, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 31, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -200,13 +200,13 @@ UTEST(EP_SA_MGMT, SA_4_READ_ARSN) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 23, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 23, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -290,13 +290,13 @@ UTEST(EP_SA_MGMT, SA_6_SET_ARSNW) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 24, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 24, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -350,13 +350,13 @@ UTEST(EP_SA_MGMT, SA_6_SET_ARSN) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 39, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 39, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -414,13 +414,13 @@ UTEST(EP_SA_MGMT, SA_6_STATUS) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 23, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 23, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -507,13 +507,13 @@ UTEST(EP_SA_MGMT, SA_STOP_6) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 27, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 27, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -565,13 +565,13 @@ UTEST(EP_SA_MGMT, SA_EXPIRE_6) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 27, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 27, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -630,13 +630,13 @@ UTEST(EP_SA_MGMT, SA_STOP_SELF) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_0_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 27, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); + TCGvcidManagedParameters_t TC_0_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 27, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_0_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); diff --git a/test/unit/ut_mysql_m_tls_connection.c b/test/unit/ut_mysql_m_tls_connection.c index 8331ec42..4e6f8042 100644 --- a/test/unit/ut_mysql_m_tls_connection.c +++ b/test/unit/ut_mysql_m_tls_connection.c @@ -132,17 +132,17 @@ int32_t Crypto_Init_TC_Unit_Test_For_DB(void) int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); return status; diff --git a/test/unit/ut_mysql_tls_connection.c b/test/unit/ut_mysql_tls_connection.c index 50515c0e..a305c0f8 100644 --- a/test/unit/ut_mysql_tls_connection.c +++ b/test/unit/ut_mysql_tls_connection.c @@ -113,17 +113,17 @@ int32_t Crypto_Init_TC_Unit_Test_For_DB(void) int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); return status; diff --git a/test/unit/ut_sadb_err_cases_kmc_crypto.c b/test/unit/ut_sadb_err_cases_kmc_crypto.c index 73c1e270..6e025d15 100644 --- a/test/unit/ut_sadb_err_cases_kmc_crypto.c +++ b/test/unit/ut_sadb_err_cases_kmc_crypto.c @@ -46,20 +46,19 @@ UTEST(KMC_CRYPTO, ONLY_KEYED_SA_AVAILABLE_FOR_GVCID) { // Setup & Initialize CryptoLib - Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL, - CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB("db-itc-kmc.nasa.gov", "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, "crypto-service", "/certs/ammos-ca-bundle.crt", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 33, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 33, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 33, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -103,24 +102,23 @@ UTEST(KMC_CRYPTO, ONLY_KEYED_SA_AVAILABLE_FOR_GVCID) UTEST(KMC_CRYPTO, ONLY_UNKEYED_SA_AVAILABLE_FOR_GVCID) { // Setup & Initialize CryptoLib - Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL, - CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB("db-itc-kmc.nasa.gov", "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, "crypto-service", "/certs/ammos-ca-bundle.crt", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, - // AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, - // TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, - // TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, + // AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, + // TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, + // TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 32, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 32, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 32, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -163,24 +161,23 @@ UTEST(KMC_CRYPTO, ONLY_UNKEYED_SA_AVAILABLE_FOR_GVCID) UTEST(KMC_CRYPTO, NULL_EKID_BLANK_ECS_ERROR) { // Setup & Initialize CryptoLib - Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL, - CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB("db-itc-kmc.nasa.gov", "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, "crypto-service", "/certs/ammos-ca-bundle.crt", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, - // AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, - // TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, - // TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, + // AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, + // TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, + // TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 34, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 34, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 34, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -223,25 +220,24 @@ UTEST(KMC_CRYPTO, NULL_EKID_BLANK_ECS_ERROR) UTEST(KMC_CRYPTO, INVALID_ABM_LENGTH_FOR_FRAME_WITH_SEG_HEADERS) { // Setup & Initialize CryptoLib - Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL, - CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + Crypto_Config_CryptoLib(KEY_TYPE_KMC, MC_TYPE_INTERNAL, SA_TYPE_MARIADB, CRYPTOGRAPHY_TYPE_KMCCRYPTO, IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); Crypto_Config_MariaDB("db-itc-kmc.nasa.gov", "sadb", 3306, CRYPTO_TRUE, CRYPTO_TRUE, "/certs/ammos-ca-bundle.crt", NULL, CLIENT_CERTIFICATE, CLIENT_CERTIFICATE_KEY, NULL, "root", NULL); Crypto_Config_Kmc_Crypto_Service("https", "itc-kmc.nasa.gov", 8443, "crypto-service", "/certs/ammos-ca-bundle.crt", NULL, CRYPTO_TRUE, CLIENT_CERTIFICATE, "PEM", CLIENT_CERTIFICATE_KEY, NULL, NULL); - // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, - // AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, - // TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, - // TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, + // AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 1, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 2, TC_HAS_FECF, + // TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 3, + // TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002C, 28, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 28, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 28, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); diff --git a/test/unit/ut_tc_apply.c b/test/unit/ut_tc_apply.c index 569ddee1..5cdf9d68 100644 --- a/test/unit/ut_tc_apply.c +++ b/test/unit/ut_tc_apply.c @@ -40,14 +40,14 @@ UTEST(TC_APPLY_SECURITY, NO_CRYPTO_INIT) hex_conversion(raw_tc_sdls_ping_h, &raw_tc_sdls_ping_b, &raw_tc_sdls_ping_len); Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); uint8_t *ptr_enc_frame = NULL; uint16_t enc_frame_len = 0; @@ -364,17 +364,17 @@ UTEST(TC_APPLY_SECURITY, HAPPY_PATH_APPLY_STATIC_IV_ROLLOVER) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); char *raw_tc_sdls_ping_h = "20030015000080d2c70008197f0b00310000b1fe3128"; @@ -644,14 +644,14 @@ UTEST(TC_APPLY_SECURITY, INVALID_FRAME_SIZE) uint16_t enc_frame_len = 0; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 4, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 0, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 0, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -701,10 +701,10 @@ UTEST(TC_APPLY_SECURITY, INVALID_FRAME_SIZE) test_association->gvcid_blk.vcid = 1; // Reset Managed Parameters for this channel to an invalid maximum // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 2047, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters_Reset = { - 0, 0x0003, 1, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 2047, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters_Reset); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters_Reset = {0, 0x0003, 1, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, + 2047, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters_Reset); // Convert input test frame hex_conversion(long_frame_pt_h, (char **)&long_frame_pt_b, &long_frame_pt_len); // Should fail, as frame length violates the spec max @@ -723,14 +723,14 @@ UTEST(TC_APPLY_SECURITY, ERROR_TC_INPUT_FRAME_TOO_SHORT_FOR_SPEC) uint16_t enc_frame_len = 0; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 4, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 4, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 4, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -761,14 +761,14 @@ UTEST(TC_APPLY_SECURITY, ERROR_TC_INPUT_FRAME_TOO_SHORT_FOR_SPECIFIED_FRAME_LENG uint16_t enc_frame_len = 0; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 4, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 4, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 4, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -799,13 +799,13 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_1BP) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -870,25 +870,25 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_16BP) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, - // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, + // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -950,25 +950,25 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_FRAME_MAX) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, - // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, + // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -1036,25 +1036,25 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_FRAME_TOO_BIG) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, - // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, + // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -1117,13 +1117,13 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_1BP_1) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -1183,19 +1183,19 @@ UTEST(TC_APPLY_SECURITY, ENC_CBC_NULL_IV) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -1255,19 +1255,19 @@ UTEST(TC_APPLY_SECURITY, CBC_NULL_IV_W_IVH) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_CRYPTO_MODULE, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_CRYPTO_MODULE); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_TRUE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t return_val = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, return_val); @@ -1334,14 +1334,14 @@ UTEST(TC_APPLY_SECURITY, PLAINTEXT_W_ARSN) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Test string @@ -1389,14 +1389,14 @@ UTEST(TC_APPLY_SECURITY, TC_KEY_STATE_TEST) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Test string @@ -1440,14 +1440,14 @@ UTEST(TC_APPLY_SECURITY, TC_HEAP_BUFFER_OVERFLOW_TEST) int status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 1, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {1, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Test string @@ -1474,14 +1474,14 @@ UTEST(TC_APPLY_SECURITY, TC_HEAP_BUFFER_OVERFLOW_TEST_2) int status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Test string @@ -1508,14 +1508,14 @@ UTEST(TC_APPLY_SECURITY, TC_HEAP_BUFFER_OVERFLOW_TEST_IV) int status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Test string diff --git a/test/unit/ut_tc_process.c b/test/unit/ut_tc_process.c index 8443bb61..cd5a55f5 100644 --- a/test/unit/ut_tc_process.c +++ b/test/unit/ut_tc_process.c @@ -36,18 +36,18 @@ UTEST(TC_PROCESS, EXERCISE_IV) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -167,17 +167,17 @@ UTEST(TC_PROCESS, EXERCISE_ARSN) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); SaInterface sa_if = get_sa_interface_inmemory(); @@ -298,17 +298,17 @@ UTEST(TC_PROCESS, HAPPY_PATH_PROCESS_STATIC_IV_ROLLOVER) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_FALSE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_FALSE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); SaInterface sa_if = get_sa_interface_inmemory(); @@ -396,17 +396,17 @@ UTEST(TC_PROCESS, HAPPY_PATH_PROCESS_NONTRANSMITTED_INCREMENTING_IV_ROLLOVER) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); SaInterface sa_if = get_sa_interface_inmemory(); @@ -493,17 +493,17 @@ UTEST(TC_PROCESS, HAPPY_PATH_PROCESS_NONTRANSMITTED_INCREMENTING_ARSN_ROLLOVER) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -588,14 +588,14 @@ UTEST(TC_PROCESS, ERROR_TC_INPUT_FRAME_TOO_SHORT_FOR_SPEC) int32_t status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 4, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -629,14 +629,14 @@ UTEST(TC_PROCESS, ERROR_TC_INPUT_FRAME_TOO_SHORT_FOR_SPECIFIED_FRAME_LENGTH_HEAD int32_t status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 4, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -670,15 +670,15 @@ UTEST(TC_PROCESS, HAPPY_PATH_DECRYPT_CBC) remove("sa_save_file.bin"); int32_t status = CRYPTO_LIB_SUCCESS; Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -740,26 +740,26 @@ UTEST(TC_PROCESS, DECRYPT_CBC_1B) { remove("sa_save_file.bin"); Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, - // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, + // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -822,25 +822,25 @@ UTEST(TC_PROCESS, DECRYPT_CBC_16B) { remove("sa_save_file.bin"); Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_FALSE, TC_NO_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, - // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_HAS_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, + // 0x0003, 2, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 3, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int32_t status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -908,22 +908,22 @@ UTEST(TC_PROCESS, GCM_IV_AND_ARSN) uint8_t *ptr_enc_frame = NULL; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, - // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + // AOS_NO_FHEC, AOS_NO_IZ, 0); Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TC_NO_FECF, + // TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, AOS_NO_FHEC, AOS_NO_IZ, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 1; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 2; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); TC_UT_Managed_Parameters.vcid = 3; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); Crypto_Init(); SaInterface sa_if = get_sa_interface_inmemory(); crypto_key_t *ekp = NULL; @@ -1136,15 +1136,15 @@ UTEST(TC_PROCESS, TC_SA_SEGFAULT_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t AOS_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t AOS_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(AOS_Managed_Parameters); status = Crypto_Init(); TC_t *tc_sdls_processed_frame; @@ -1175,15 +1175,15 @@ UTEST(TC_PROCESS, TC_SA_NOT_OPERATIONAL) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t AOS_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_NO_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t AOS_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_NO_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(AOS_Managed_Parameters); status = Crypto_Init(); @@ -1215,15 +1215,15 @@ UTEST(TC_PROCESS, TC_KEY_STATE_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t AOS_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t AOS_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(AOS_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1271,15 +1271,15 @@ UTEST(TC_PROCESS, TC_HEAP_BUFFER_OVERFLOW_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t AOS_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t AOS_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(AOS_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1325,15 +1325,15 @@ UTEST(TC_PROCESS, TC_PROCESS_PREP_AAD_UNDERFLOW_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t AOS_Managed_Parameters = { - 0, 0x0003, 0, TC_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(AOS_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t AOS_Managed_Parameters = {0, 0x0003, 0, TC_NO_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(AOS_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1372,14 +1372,14 @@ UTEST(TC_PROCESS, TC_HEAP_BUFFER_OVERFLOW_TEST_2) int status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x0003, 0, TC_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TC_HAS_SEGMENT_HDRS, 1024, TC_OCF_NA, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1402,4 +1402,83 @@ UTEST(TC_PROCESS, TC_HEAP_BUFFER_OVERFLOW_TEST_2) ASSERT_EQ(CRYPTO_LIB_ERR_TC_FRAME_LENGTH_MISMATCH, status); } +UTEST(TC_PROCESS, TC_PROCESS_IGNORE_SA_STATE) +{ + // first dont ignore state + remove("sa_save_file.bin"); + int status = CRYPTO_LIB_SUCCESS; + // Setup & Initialize CryptoLib + Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + status = Crypto_Init(); + ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); + + SecurityAssociation_t *sa_ptr; + sa_if->sa_get_from_spi(4, &sa_ptr); + sa_ptr->sa_state = SA_NONE; + sa_ptr->abm_len = 1024; + + TC_t *tc_sdls_processed_frame; + tc_sdls_processed_frame = malloc(sizeof(uint8_t) * TC_SIZE); + memset(tc_sdls_processed_frame, 0, (sizeof(uint8_t) * TC_SIZE)); + + // Test string + char *test_frame_pt_h = "2003002719C00004000000000000000000000001ABBA571508526C3B9ED27B938C1B7B5F2343FECF"; + uint8_t *test_frame_pt_b = NULL; + int test_frame_pt_len = 0; + + hex_conversion(test_frame_pt_h, (char **)&test_frame_pt_b, &test_frame_pt_len); + + status = Crypto_TC_ProcessSecurity(test_frame_pt_b, &test_frame_pt_len, tc_sdls_processed_frame); + + Crypto_Shutdown(); + free(tc_sdls_processed_frame); + free(test_frame_pt_b); + ASSERT_EQ(CRYPTO_LIB_ERR_SA_NOT_OPERATIONAL, status); + + // now, ignore state + remove("sa_save_file.bin"); + status = CRYPTO_LIB_SUCCESS; + // Setup & Initialize CryptoLib + Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, + IV_INTERNAL); + Crypto_Config_TC(CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, TC_IGNORE_ANTI_REPLAY_FALSE, + TC_IGNORE_SA_STATE_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, TC_OCF_NA, 1024, + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TCGvcidManagedParameters_t TC_UT_Managed_Parameters_2 = {0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, 1}; + Crypto_Config_Add_TC_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters_2); + status = Crypto_Init(); + ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); + + sa_if->sa_get_from_spi(4, &sa_ptr); + sa_ptr->sa_state = SA_NONE; + sa_ptr->abm_len = 1024; + + tc_sdls_processed_frame = malloc(sizeof(uint8_t) * TC_SIZE); + memset(tc_sdls_processed_frame, 0, (sizeof(uint8_t) * TC_SIZE)); + + // Test string + test_frame_pt_h = "2003002719C00004000000000000000000000001ABBA571508526C3B9ED27B938C1B7B5F2343FECF"; + test_frame_pt_b = NULL; + test_frame_pt_len = 0; + + hex_conversion(test_frame_pt_h, (char **)&test_frame_pt_b, &test_frame_pt_len); + + status = Crypto_TC_ProcessSecurity(test_frame_pt_b, &test_frame_pt_len, tc_sdls_processed_frame); + + Crypto_Shutdown(); + free(tc_sdls_processed_frame); + free(test_frame_pt_b); + ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); +} + UTEST_MAIN(); diff --git a/test/unit/ut_tm_apply.c b/test/unit/ut_tm_apply.c index 64e183be..2754a484 100644 --- a/test/unit/ut_tm_apply.c +++ b/test/unit/ut_tm_apply.c @@ -120,9 +120,9 @@ UTEST(TM_APPLY_SECURITY, NO_CONFIG) // No Crypto_Init(), but we still Configure It: Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); char *framed_tm_h = "02C000001800000C08010000000F00112233445566778899AABBCCDDEEFFA107FF000006D2ABBABBAABBAABBAABBAABBAABBAABBAABBAA" @@ -276,9 +276,9 @@ UTEST(TM_APPLY_SECURITY, HAPPY_PATH_CLEAR_FECF) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -312,14 +312,13 @@ UTEST(TM_APPLY_SECURITY, HAPPY_PATH_CLEAR_FECF_LEFT_BLANK) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_FALSE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_FALSE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_FALSE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x0003, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x0003, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -428,9 +427,9 @@ UTEST(TM_APPLY_SECURITY, HAPPY_PATH_CLEAR_FECF_LEFT_BLANK) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -463,14 +462,13 @@ UTEST(TM_APPLY_SECURITY, SECONDARY_HDR_PRESENT_PLAINTEXT) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_FALSE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_FALSE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_NO_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1024, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_NO_FECF, 1024, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -567,9 +565,9 @@ UTEST(TM_APPLY_SECURITY, SECONDARY_HDR_PRESENT_PLAINTEXT) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -721,9 +719,9 @@ UTEST(TM_APPLY_SECURITY, SECONDARY_HDR_PRESENT_MAC) akp->key_state = KEY_ACTIVE; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -752,14 +750,13 @@ UTEST(TM_APPLY_SECURITY, AES_CMAC_256_TEST_0) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -884,9 +881,9 @@ UTEST(TM_APPLY_SECURITY, AES_CMAC_256_TEST_0) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -921,14 +918,13 @@ UTEST(TM_APPLY_SECURITY, AES_CMAC_256_TEST_1) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1059,9 +1055,9 @@ UTEST(TM_APPLY_SECURITY, AES_CMAC_256_TEST_1) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -1098,14 +1094,13 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_256_TEST_0) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1229,9 +1224,9 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_256_TEST_0) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1265,14 +1260,13 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_256_TEST_1) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1397,9 +1391,9 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_256_TEST_1) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1433,14 +1427,13 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_512_TEST_0) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1567,9 +1560,9 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_512_TEST_0) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -1610,14 +1603,13 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_512_TEST_1) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1744,9 +1736,9 @@ UTEST(TM_APPLY_ENC_VAL, AES_HMAC_SHA_512_TEST_1) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1776,14 +1768,13 @@ UTEST(TM_APPLY_ENC_VAL, AES_GCM_BITMASK_1) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); SaInterface sa_if = get_sa_interface_inmemory(); @@ -1952,14 +1943,13 @@ UTEST(TM_APPLY_ENC_VAL, AEAD_AES_GCM_BITMASK_1) remove("sa_save_file.bin"); // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); int status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); SaInterface sa_if = get_sa_interface_inmemory(); @@ -2141,14 +2131,13 @@ UTEST(TM_APPLY_ENC_VAL, TM_KEY_STATE_TEST) int32_t status = CRYPTO_LIB_SUCCESS; // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TC_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TC_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TC_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -2289,15 +2278,14 @@ UTEST(TM_APPLY_SECURITY, TM_APPLY_HEAP_UNDERFLOW_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); char *framed_tm_h = "02C0000018000008414243444546FFFF"; @@ -2345,15 +2333,14 @@ UTEST(TM_APPLY, TM_APPLY_Secondary_Hdr_OVERFLOW_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 1, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 7, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 1, TM_HAS_FECF, 7, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); @@ -2377,7 +2364,7 @@ UTEST(TM_APPLY, TM_APPLY_Secondary_Hdr_OVERFLOW_TEST) sa_ptr->arsn_len = 0; sa_ptr->gvcid_blk.scid = 0x002c; sa_ptr->gvcid_blk.vcid = 1; - sa_ptr->gvcid_blk.mapid = TYPE_TM; + sa_ptr->gvcid_blk.mapid = 0; status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); @@ -2394,13 +2381,12 @@ UTEST(TM_APPLY, TM_APPLY_Secondary_Hdr_Spec_Violation) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 1, TM_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 8, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 1, TM_NO_FECF, 8, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); @@ -2421,7 +2407,7 @@ UTEST(TM_APPLY, TM_APPLY_Secondary_Hdr_Spec_Violation) sa_ptr->arsn_len = 0; sa_ptr->gvcid_blk.scid = 0x002c; sa_ptr->gvcid_blk.vcid = 1; - sa_ptr->gvcid_blk.mapid = TYPE_TM; + sa_ptr->gvcid_blk.mapid = 0; status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); @@ -2437,15 +2423,14 @@ UTEST(TM_APPLY, TM_APPLY_Secondary_Hdr_One_Too_Big) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 1, TM_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 8, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 1, TM_NO_FECF, 8, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); @@ -2469,7 +2454,7 @@ UTEST(TM_APPLY, TM_APPLY_Secondary_Hdr_One_Too_Big) sa_ptr->arsn_len = 0; sa_ptr->gvcid_blk.scid = 0x002c; sa_ptr->gvcid_blk.vcid = 1; - sa_ptr->gvcid_blk.mapid = TYPE_TM; + sa_ptr->gvcid_blk.mapid = 0; status = Crypto_TM_ApplySecurity((uint8_t *)framed_tm_b, framed_tm_len); diff --git a/test/unit/ut_tm_process.c b/test/unit/ut_tm_process.c index e9a36b11..3fe592cd 100644 --- a/test/unit/ut_tm_process.c +++ b/test/unit/ut_tm_process.c @@ -81,20 +81,19 @@ UTEST(TM_PROCESS_SECURITY, NO_CRYPTO_INIT) hex_conversion(framed_tm_h, &framed_tm_b, (int *)&framed_tm_len); Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_TRUE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - // GvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + // TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, AOS_NO_FHEC, AOS_NO_IZ, 0, // TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF}; - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); // Determine managed parameters by GVCID, which nominally happens in TO - // status = Crypto_Get_Managed_Parameters_For_Gvcid(((uint8_t)framed_tm_b[0] & 0xC0) >> 6, + // status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(((uint8_t)framed_tm_b[0] & 0xC0) >> 6, // (((uint8_t)framed_tm_b[0] & 0x03) << 8) | // (uint8_t)framed_tm_b[1], // (((uint8_t)framed_tm_b[2] & 0xFC) >> 2), @@ -173,7 +172,7 @@ UTEST(TM_PROCESS_SECURITY, NO_CONFIG) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - // status = Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + // status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, gvcid_managed_parameters, ¤t_managed_parameters); // printf("STATUS is %d\n", status); // Determine security association by GVCID, which nominally happens in TO @@ -206,15 +205,14 @@ UTEST(TM_PROCESS_SECURITY, HAPPY_PATH_CLEAR_FECF) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -319,9 +317,9 @@ UTEST(TM_PROCESS_SECURITY, HAPPY_PATH_CLEAR_FECF) status = Crypto_TM_ProcessSecurity((uint8_t *)framed_tm_b, framed_tm_len, tm_frame, &processed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); @@ -356,13 +354,12 @@ UTEST(TM_PROCESS_SECURITY, SECONDARY_HDR_PRESENT_PLAINTEXT) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -482,9 +479,9 @@ UTEST(TM_PROCESS_SECURITY, SECONDARY_HDR_PRESENT_PLAINTEXT) status = Crypto_TM_ProcessSecurity((uint8_t *)framed_tm_b, framed_tm_len, tm_frame, &processed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Now, byte by byte verify the static frame in memory is equivalent to what we started with uint16_t sh_len = Crypto_Get_Security_Header_Length(sa_ptr); @@ -521,16 +518,15 @@ UTEST(TM_PROCESS_SECURITY, SECONDARY_HDR_PRESENT_MAC) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TM_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -652,7 +648,7 @@ UTEST(TM_PROCESS_SECURITY, SECONDARY_HDR_PRESENT_MAC) akp->key_state = KEY_ACTIVE; // Determine managed parameters by GVCID, which nominally happens in TO - // status = Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + // status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, // gvcid_managed_parameters, ¤t_managed_parameters); status = Crypto_TM_ProcessSecurity((uint8_t *)framed_tm_b, framed_tm_len, tm_frame, &processed_tm_len); @@ -689,15 +685,14 @@ UTEST(TM_PROCESS_SECURITY, AES_CMAC_256_TEST_0) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -816,9 +811,9 @@ UTEST(TM_PROCESS_SECURITY, AES_CMAC_256_TEST_0) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -870,15 +865,14 @@ UTEST(TM_PROCESS_SECURITY, AES_CMAC_256_TEST_1) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -999,9 +993,9 @@ UTEST(TM_PROCESS_SECURITY, AES_CMAC_256_TEST_1) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -1052,15 +1046,14 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_256_TEST_0) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1180,9 +1173,9 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_256_TEST_0) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -1233,15 +1226,14 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_256_TEST_1) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1361,9 +1353,9 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_256_TEST_1) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -1414,15 +1406,14 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_512_TEST_0) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1545,9 +1536,9 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_512_TEST_0) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -1598,15 +1589,14 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_512_TEST_1) // Setup & Initialize CryptoLib // Oddball setup that doesn't use TM_INIT to check FECF Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -1729,9 +1719,9 @@ UTEST(TM_PROCESS_ENC_VAL, AES_HMAC_SHA_512_TEST_1) tm_frame_pri_hdr.vcid = ((uint8_t)framed_tm_b[1] & 0x0E) >> 1; // Determine managed parameters by GVCID, which nominally happens in TO - status = - Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - gvcid_managed_parameters_array, &tm_current_managed_parameters_struct); + status = Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + tm_frame_pri_hdr.vcid, tm_gvcid_managed_parameters_array, + &tm_current_managed_parameters_struct); // Determine security association by GVCID, which nominally happens in TO // status = sa_if->sa_get_operational_sa_from_gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, // tm_frame_pri_hdr.vcid, map_id, &sa_ptr); @@ -1782,15 +1772,14 @@ UTEST(TM_PROCESS_ENC_VAL, AES_GCM_BITMASK_1) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); SaInterface sa_if = get_sa_interface_inmemory(); @@ -1829,7 +1818,7 @@ UTEST(TM_PROCESS_ENC_VAL, AES_GCM_BITMASK_1) "560e98398aa9f6ba625e9bc516bb88a4fb2a7ec4b3017ac74362f58653b6b7a2226fcbd484a834fe5e8f4a7432fecf8974d57088c7955e" "ee593bd806bb84b46dc2e75c2709c37468866df97e66f49bece821aa8997ec766d6e6529cf96c18a14435ee0ded2bde56d77b2091d4ca1" "346830edda23d114efe1596201d80fe213b8b7dffa79fc84a2a63c77ac9fae6cb1b8bb99521b43309915da6b28316e400f10fda0f1dbdd" - "25761de798dc894009f391fd96d2471558a2c9656251af547a43"; + "25761de798dc894009f391fd96d2471558a2c9656251af5490F6"; char *framed_tm_b = NULL; int framed_tm_len = 0; hex_conversion(framed_tm_h, &framed_tm_b, &framed_tm_len); @@ -1891,6 +1880,13 @@ UTEST(TM_PROCESS_ENC_VAL, AES_GCM_BITMASK_1) test_association->arsn_len = 0; test_association->shsnf_len = 0; + // Set a more obvious IV for test purposes + char *iv_h = "DEADBEEFDEADBEEFDEADBEEFDEADBEEE"; + char *iv_b = NULL; + int iv_len = 0; + hex_conversion(iv_h, &iv_b, &iv_len); + memcpy(test_association->iv, iv_b, iv_len); + crypto_key_t *ekp = NULL; ekp = key_if->get_key(test_association->ekid); ekp->key_state = KEY_ACTIVE; @@ -1902,6 +1898,14 @@ UTEST(TM_PROCESS_ENC_VAL, AES_GCM_BITMASK_1) status = Crypto_TM_ProcessSecurity((uint8_t *)framed_tm_b, framed_tm_len, tm_frame, &processed_tm_len); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); + printf("SA Fields:\n"); + printf("\tIV: "); + for (int i = 0; i < test_association->iv_len; i++) + { + printf("%02x", test_association->iv[i]); + } + printf("\n"); + // printf("Decrypted frame contents:\n\t"); // for (int i = 0; i < 1786; i++) // { @@ -1935,7 +1939,7 @@ UTEST(TM_PROCESS_ENC_VAL, AES_GCM_BITMASK_1) free(truth_tm_b); free(framed_tm_b); free(tm_frame); - // free(iv_b); + free(iv_b); } /** @@ -1953,15 +1957,14 @@ UTEST(TM_PROCESS_ENC_VAL, AEAD_AES_GCM_BITMASK_1) // Setup & Initialize CryptoLib Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); - - // Crypto_Config_Add_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, - // AOS_FHEC_NA, AOS_IZ_NA, 0); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + + // Crypto_Config_Add_TM_Gvcid_Managed_Parameters(0, 0x002c, 0, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, TM_NO_OCF, 1786, + // AOS_NO_FHEC, AOS_NO_IZ, 0); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); SaInterface sa_if = get_sa_interface_inmemory(); @@ -2051,8 +2054,9 @@ UTEST(TM_PROCESS_ENC_VAL, AEAD_AES_GCM_BITMASK_1) // Determine managed parameters by GVCID, which nominally happens in TO // status = - // Crypto_Get_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, tm_frame_pri_hdr.vcid, - // gvcid_managed_parameters_array, + // Crypto_Get_TM_Managed_Parameters_For_Gvcid(tm_frame_pri_hdr.tfvn, tm_frame_pri_hdr.scid, + // tm_frame_pri_hdr.vcid, + // tm_gvcid_managed_parameters_array, // &tm_current_managed_parameters_struct); // Expose/setup SAs for testing @@ -2078,6 +2082,13 @@ UTEST(TM_PROCESS_ENC_VAL, AEAD_AES_GCM_BITMASK_1) test_association->stmacf_len = 16; test_association->shsnf_len = 0; + // Set a more obvious IV for test purposes + char *iv_h = "DEADBEEFDEADBEEFDEADBEEFDEADBEEE"; + char *iv_b = NULL; + int iv_len = 0; + hex_conversion(iv_h, &iv_b, &iv_len); + memcpy(test_association->iv, iv_b, iv_len); + crypto_key_t *ekp = NULL; ekp = key_if->get_key(test_association->ekid); ekp->key_state = KEY_ACTIVE; @@ -2122,6 +2133,7 @@ UTEST(TM_PROCESS_ENC_VAL, AEAD_AES_GCM_BITMASK_1) free(truth_tm_b); free(framed_tm_b); free(tm_frame); + free(iv_b); // free(iv_b); } @@ -2134,15 +2146,14 @@ UTEST(TM_PROCESS, TM_SA_SEGFAULT_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x002c, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_HAS_IZ, 10); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -2174,15 +2185,14 @@ UTEST(TM_PROCESS, TM_OCF_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // AOS Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(1, 0x002c, 0, AOS_HAS_FECF, AOS_SEGMENT_HDRS_NA, AOS_NO_OCF, 1786, // AOS_NO_FHEC, AOS_HAS_IZ, 10); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 16, TM_HAS_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 16, TM_HAS_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -2225,15 +2235,14 @@ UTEST(TM_PROCESS, TM_SA_NOT_OPERATIONAL) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 14, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 14, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -2275,15 +2284,14 @@ UTEST(TM_PROCESS, TM_KEY_STATE_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests // Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, TC_OCF_NA, 1024, - // AOS_FHEC_NA, AOS_IZ_NA, 0); - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 14, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + // AOS_NO_FHEC, AOS_NO_IZ, 0); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 14, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); ASSERT_EQ(CRYPTO_LIB_SUCCESS, status); @@ -2333,13 +2341,12 @@ UTEST(TM_PROCESS, TM_PROCESS_HEAP_UNDERFLOW_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 1786, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 1786, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); @@ -2382,13 +2389,12 @@ UTEST(TM_PROCESS, TM_PROCESS_Secondary_Hdr_OVERFLOW_TEST) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 1, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 7, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 1, TM_HAS_FECF, 7, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); @@ -2421,13 +2427,12 @@ UTEST(TM_PROCESS, TM_PROCESS_Secondary_Hdr_Spec_Violation) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_HAS_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 8, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_HAS_FECF, 8, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); @@ -2461,13 +2466,12 @@ UTEST(TM_PROCESS, TM_PROCESS_Secondary_Hdr_One_Too_Big) // Configure Parameters Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, - IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, TC_HAS_PUS_HDR, - TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, TC_UNIQUE_SA_PER_MAP_ID_FALSE, - TC_CHECK_FECF_TRUE, 0x3F, SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + IV_INTERNAL); + Crypto_Config_TM(CRYPTO_TM_CREATE_FECF_TRUE, TM_IGNORE_ANTI_REPLAY_FALSE, TM_CHECK_FECF_FALSE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); // TM Tests - GvcidManagedParameters_t TM_UT_Managed_Parameters = { - 0, 0x002c, 0, TM_NO_FECF, AOS_FHEC_NA, AOS_IZ_NA, 0, TM_SEGMENT_HDRS_NA, 8, TM_NO_OCF, 1}; - Crypto_Config_Add_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); + TMGvcidManagedParameters_t TM_UT_Managed_Parameters = {0, 0x002c, 0, TM_NO_FECF, 8, TM_NO_OCF, 1}; + Crypto_Config_Add_TM_Gvcid_Managed_Parameters(TM_UT_Managed_Parameters); status = Crypto_Init(); // 6 byte header + 2 byte secondary header