TC38xHsmHostDemo v1.1.0
This is a demo project for TC38x HSM Host Library.
载入中...
搜索中...
未找到
HsmCmd.h 文件参考

定义了与HSM通信的命令、数据结构和接口。 更多...

#include "Std_Types.h"
HsmCmd.h 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

结构体

struct  HsmCmd_SecureBootInfoType
 安全启动信息结构体 更多...
struct  HsmCmd_Interface
 HSM命令接口结构体 更多...
struct  AES_GCM_Typedef
 AES-GCM 上下文结构体 更多...
struct  HsmCmd_Local
 HSM命令本地数据结构体 更多...
struct  HsmCmd_Descriptor
 HSM命令描述符结构体 更多...

宏定义

#define HSMCMD_REQUEST_NOT_HANDLED   0
 通用错误码
#define HSMCMD_REQUEST_INPROGRESS   1
#define HSMCMD_REQUEST_HANDLED   2
#define HSMCMD_REQUEST_TIMEOUT   0xFFFFFFFF
#define HSMCMD_REQUEST_SYNC_FORMAT_ERROR   3
 同步请求格式错误
#define HSMCMD_INVALID_KEY_LENGTH_ERROR   4

类型定义

typedef void(* HsmCmd_Callback) (HsmCmd_Interface *itf)
 HSM命令回调函数指针类型

枚举

enum  HsmCmd_CryCmdEnum {
  HSM_COMMAND_AES128_ECB = 0u , HSM_COMMAND_AES128_CBC = 1u , HSM_COMMAND_RSA2048 = 2u , HSM_COMMAND_CRYPT_AES_ECB_KEYID = 3u ,
  HSM_COMMAND_CRYPT_AES_CBC_KEYID = 4u , HSM_COMMAND_CRYPT_RSA_KEYID = 5u , HSM_COMMAND_CRYPT_AES_CTR = 6u , HSM_COMMAND_CRYPT_AES_OFB = 7u ,
  HSM_COMMAND_CRYPT_AES_CFB = 8u , HSM_COMMAND_CRYPT_AES_XTS = 9u , HSM_COMMAND_CRYPT_AES_GCM = 10u
}
 HSM 加密命令枚举 更多...
enum  HsmCmd_CryptmEnum { HSM_COMMAND_CRYPT_AES_ECB = 0u , HSM_COMMAND_CRYPT_AES_CBC = 1u , HSM_COMMAND_CRYPT_RSA = 2u }
 HSM 加密算法枚举 更多...
enum  HsmCmd_KeyEnum { HSM_COMMAND_KEY_PLAIN = 0u , HSM_COMMAND_KEY_SLOT = 1u }
 HSM 密钥类型枚举 更多...
enum  HsmCmd_HashEnum {
  HSM_COMMAND_HASH_SHA256 = 0u , HSM_COMMAND_HASH_CMAC = 1u , HSM_COMMAND_HASH_MD5 = 2u , HSM_COMMAND_HASH_SHA1 = 3u ,
  HSM_COMMAND_HASH_NONE = 4u
}
 HSM 哈希算法枚举 更多...
enum  HostCmd_MacEnum { HSM_COMMAND_MAC_CMAC = 1u , HSM_COMMAND_MAC_CMAC_KEYID = 2u }
 主机 MAC 命令枚举 更多...
enum  HsmCmd_SECUREBOOT_CHECK_Enum { HSM_COMMAND_SECUREBOOT_CHECK = 0u , HSM_COMMAND_SECUREBOOT_SAVE = 1 }
 HSM 安全启动检查命令枚举 更多...
enum  HsmCmd_CmdInternalEnum {
  HSMCMD_IDLE = 0x00000000u , HSMCMD_OCCUPIED = 0x00000001u , HSMCMD_SYNC = 0x01010001u , HSMCMD_GET_AB_STATUS = 0x01020001u ,
  HSMCMD_INJECT_KEY_PLAIN = 0x02010001u , HSMCMD_INJECT_KEY_ENCRYPT = 0x02010002u , HSMCMD_DESTRUCT_KEY = 0x02020001u , HSMCMD_CHECK_KEY = 0x02030001u ,
  HSMCMD_ENCRYPT_SLOT = 0x03010001u , HSMCMD_ENCRYPT_SLOT_START = 0x03010002u , HSMCMD_ENCRYPT_SLOT_UPDATE = 0x03010003u , HSMCMD_ENCRYPT_SLOT_FINISH = 0x03010004u ,
  HSMCMD_ENCRYPT_PLAIN = 0x03010005u , HSMCMD_ENCRYPT_PLAIN_START = 0x03010006u , HSMCMD_ENCRYPT_PLAIN_UPDATE = 0x03010007u , HSMCMD_ENCRYPT_PLAIN_FINISH = 0x03010008u ,
  HSMCMD_DECRYPT_SLOT = 0x03020001u , HSMCMD_DECRYPT_SLOT_START = 0x03020002u , HSMCMD_DECRYPT_SLOT_UPDATE = 0x03020003u , HSMCMD_DECRYPT_SLOT_FINISH = 0x03020004u ,
  HSMCMD_DECRYPT_PLAIN = 0x03020005u , HSMCMD_DECRYPT_PLAIN_START = 0x03020006u , HSMCMD_DECRYPT_PLAIN_UPDATE = 0x03020007u , HSMCMD_DECRYPT_PLAIN_FINISH = 0x03020008u ,
  HSMCMD_HASH_CMDALL = 0x04010001u , HSMCMD_HASH_START = 0x04010002u , HSMCMD_HASH_UPDATE = 0x04010003u , HSMCMD_HASH_FINISH = 0x04010004u ,
  HSMCMD_TRNG = 0x05010001u , HSMCMD_CMAC = 0x06010001u , HSMCMD_CMAC_START = 0x06010002u , HSMCMD_CMAC_UPDATE = 0x06010003u ,
  HSMCMD_CMAC_FINISH = 0x06010004u , HSMCMD_CMAC_DONE = 0x06010005u , HSMCMD_OPT_HANDLE = 0x07010001u , HSMCMD_READ_DFLASH_INFO = 0x08010001u ,
  HSMCMD_ERASE_DFLASH_INFO = 0x08010002u , HSMCMD_ECC_ENCRYPT = 0x09010001u , HSMCMD_CERT_VERIFY_SLOT = 0x09020001u , HSMCMD_ECC_DECRYPT = 0x09020002u ,
  HSMCMD_SECURE_BOOT_CHECK = 0x0A010001u , HSMCMD_HMAC_MD5 = 0x0B010001u , HSMCMD_HMAC_SHA1 = 0x0B010002u , HSMCMD_HMAC_SHA256 = 0x0B010003u
}
 HSM 内部命令枚举 更多...

函数

Std_ReturnType HsmCmd_ShakeHand (HsmCmd_Descriptor *desc, HsmCmd_Callback callback)
 主机与HSM进行握手
Std_ReturnType HsmCmd_RequestCmd (HsmCmd_Descriptor *desc, HsmCmd_Callback callback)
 主机向HSM请求命令
void HsmCmd_ReleaseDesc (HsmCmd_Descriptor *desc)
 释放命令描述符

详细描述

定义了与HSM通信的命令、数据结构和接口。

宏定义说明

◆ HSMCMD_INVALID_KEY_LENGTH_ERROR

#define HSMCMD_INVALID_KEY_LENGTH_ERROR   4

无效的密钥长度错误

◆ HSMCMD_REQUEST_HANDLED

#define HSMCMD_REQUEST_HANDLED   2

请求已处理

◆ HSMCMD_REQUEST_INPROGRESS

#define HSMCMD_REQUEST_INPROGRESS   1

请求处理中

◆ HSMCMD_REQUEST_TIMEOUT

#define HSMCMD_REQUEST_TIMEOUT   0xFFFFFFFF

请求超时