WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
upg_verify.c 文件参考
#include <string.h>
#include <stddef.h>
#include <stdint.h>
#include <stdbool.h>
#include <securec.h>
#include "common_def.h"
#include "upg_definitions.h"
#include "upg_otp_reg.h"
#include "errcode.h"
#include "upg_config.h"
#include "upg_debug.h"
#include "chip_io.h"
#include "upg_common.h"
#include "upg_common_porting.h"
#include "upg_porting.h"
#include "upg_alloc.h"
#include "pke.h"
#include "cipher_api.h"
#include "sha256/sha256.h"
#include "soc_osal.h"
#include "upg_verify.h"
upg_verify.c 的引用(Include)关系图:

宏定义

#define ECC_KEY_OFFSET   32
 
#define UPG_SM2_ID   "\x31\x32\x33\x34\x35\x36\x37\x38\x31\x32\x33\x34\x35\x36\x37\x38"
 
#define UPG_SM2_ID_LEN   0x10
 
#define RSA_N_KEY_LEN   512
 
#define RSA_E_KEY_LEN   512
 
#define RSA_SIG_LEN   512
 
#define ECC_X_KEY_LEN   32
 
#define ECC_Y_KEY_LEN   32
 
#define ECC_KEY_LEN   32
 
#define ECC_R_SIG_LEN   32
 
#define ECC_S_SIG_LEN   32
 
#define ECC_SIG_LEN   32
 
#define UPG_VERIFY_CIPHER_BUF_ATTR   UAPI_DRV_CIPHER_BUF_SECURE
 

函数

errcode_t verify_hash_cmp (const uint8_t *hash, const uint8_t *hash_res, uint32_t hash_len)
 
STATIC errcode_t upg_verify_hash (uintptr_t verify_data, uint32_t verify_size, const uint8_t *hash, uint32_t hash_len)
 
errcode_t secure_authenticate (const uint8_t *key, const upg_auth_data_t *data, uint8_t *sign_buff)
 
STATIC errcode_t verify_fota_key_area (uint32_t type, upg_key_area_data_t *key_area, uint8_t *public_key)
 
STATIC errcode_t verify_fota_info (uint32_t type, upg_fota_info_data_t *fota_info, uint8_t *public_key)
 
STATIC errcode_t upg_check_fota_image_id (const upg_key_area_data_t *upg_key_info, const upg_fota_info_data_t *fota_info)
 
void uapi_upg_register_user_defined_verify_func (uapi_upg_user_defined_check func, uintptr_t param)
 注册用户自定义字段的校验函数。
 
errcode_t uapi_upg_verify_file_head (const upg_package_header_t *pkg_header)
 校验升级包头结构。
 
STATIC errcode_t uapi_upg_verify_image (const upg_package_header_t *pkg_header, upg_image_hash_node_t *img_hash_table)
 
errcode_t uapi_upg_verify_file (const upg_package_header_t *pkg_header)
 校验整个升级包。
 
STATIC errcode_t upg_verify_image_multi_segment_data (const upg_image_header_t *img_header)
 
STATIC errcode_t upg_verify_image_data (const upg_image_header_t *img_header)
 
STATIC errcode_t upg_verify_old_image (const upg_image_header_t *img_header)
 
errcode_t uapi_upg_verify_file_image (const upg_image_header_t *img_header, const uint8_t *hash, uint32_t hash_len, bool verify_old)
 校验升级包中的升级镜像。
 
errcode_t uapi_upg_check_head_integrity (const upg_package_header_t *pkg_header)
 

变量

STATIC uapi_upg_user_defined_check g_user_defined_check_func = NULL
 
STATIC uintptr_t g_user_defined_param = 0
 

宏定义说明

◆ ECC_KEY_LEN

#define ECC_KEY_LEN   32

◆ ECC_KEY_OFFSET

#define ECC_KEY_OFFSET   32

◆ ECC_R_SIG_LEN

#define ECC_R_SIG_LEN   32

◆ ECC_S_SIG_LEN

#define ECC_S_SIG_LEN   32

◆ ECC_SIG_LEN

#define ECC_SIG_LEN   32

◆ ECC_X_KEY_LEN

#define ECC_X_KEY_LEN   32

◆ ECC_Y_KEY_LEN

#define ECC_Y_KEY_LEN   32

◆ RSA_E_KEY_LEN

#define RSA_E_KEY_LEN   512

◆ RSA_N_KEY_LEN

#define RSA_N_KEY_LEN   512

◆ RSA_SIG_LEN

#define RSA_SIG_LEN   512

◆ UPG_SM2_ID

#define UPG_SM2_ID   "\x31\x32\x33\x34\x35\x36\x37\x38\x31\x32\x33\x34\x35\x36\x37\x38"

◆ UPG_SM2_ID_LEN

#define UPG_SM2_ID_LEN   0x10

◆ UPG_VERIFY_CIPHER_BUF_ATTR

#define UPG_VERIFY_CIPHER_BUF_ATTR   UAPI_DRV_CIPHER_BUF_SECURE

函数说明

◆ secure_authenticate()

errcode_t secure_authenticate ( const uint8_t *  key,
const upg_auth_data_t data,
uint8_t *  sign_buff 
)

◆ uapi_upg_check_head_integrity()

errcode_t uapi_upg_check_head_integrity ( const upg_package_header_t pkg_header)

◆ uapi_upg_verify_image()

STATIC errcode_t uapi_upg_verify_image ( const upg_package_header_t pkg_header,
upg_image_hash_node_t img_hash_table 
)

◆ upg_check_fota_image_id()

STATIC errcode_t upg_check_fota_image_id ( const upg_key_area_data_t upg_key_info,
const upg_fota_info_data_t fota_info 
)

◆ upg_verify_hash()

STATIC errcode_t upg_verify_hash ( uintptr_t  verify_data,
uint32_t  verify_size,
const uint8_t *  hash,
uint32_t  hash_len 
)

◆ upg_verify_image_data()

STATIC errcode_t upg_verify_image_data ( const upg_image_header_t img_header)

◆ upg_verify_image_multi_segment_data()

STATIC errcode_t upg_verify_image_multi_segment_data ( const upg_image_header_t img_header)

◆ upg_verify_old_image()

STATIC errcode_t upg_verify_old_image ( const upg_image_header_t img_header)

◆ verify_fota_info()

STATIC errcode_t verify_fota_info ( uint32_t  type,
upg_fota_info_data_t fota_info,
uint8_t *  public_key 
)

◆ verify_fota_key_area()

STATIC errcode_t verify_fota_key_area ( uint32_t  type,
upg_key_area_data_t key_area,
uint8_t *  public_key 
)

◆ verify_hash_cmp()

errcode_t verify_hash_cmp ( const uint8_t *  hash,
const uint8_t *  hash_res,
uint32_t  hash_len 
)

变量说明

◆ g_user_defined_check_func

STATIC uapi_upg_user_defined_check g_user_defined_check_func = NULL

◆ g_user_defined_param

STATIC uintptr_t g_user_defined_param = 0