|
| enum | uapi_drv_keyslot_type_t { UAPI_DRV_KEYSLOT_TYPE_MCIPHER = 0
, UAPI_DRV_KEYSLOT_TYPE_HMAC
, UAPI_DRV_KEYSLOT_TYPE_FLASH
} |
| | keyslot 类型选择。 更多...
|
| |
| enum | uapi_drv_kdf_otp_key_t { UAPI_DRV_KDF_OTP_KEY_MRK1 = 0
, UAPI_DRV_KDF_OTP_KEY_USK
, UAPI_DRV_KDF_OTP_KEY_RUSK
} |
| | KDF 密钥派生时根密钥选择。 更多...
|
| |
| enum | uapi_drv_kdf_update_alg_t { UAPI_DRV_KDF_UPDATE_ALG_AES = 0
, UAPI_DRV_KDF_UPDATE_ALG_SM4
} |
| | KDF 密钥派生时对称算法选择。 更多...
|
| |
| enum | uapi_drv_kdf_hard_key_type_t {
UAPI_DRV_KDF_HARD_KEY_TYPE_SBRK0 = 0x03000000
, UAPI_DRV_KDF_HARD_KEY_TYPE_SBRK1
, UAPI_DRV_KDF_HARD_KEY_TYPE_SBRK2
, UAPI_DRV_KDF_HARD_KEY_TYPE_ABRK0
,
UAPI_DRV_KDF_HARD_KEY_TYPE_ABRK1
, UAPI_DRV_KDF_HARD_KEY_TYPE_ABRK2
, UAPI_DRV_KDF_HARD_KEY_TYPE_DRK0
, UAPI_DRV_KDF_HARD_KEY_TYPE_DRK1
,
UAPI_DRV_KDF_HARD_KEY_TYPE_RDRK0
, UAPI_DRV_KDF_HARD_KEY_TYPE_RDRK1
, UAPI_DRV_KDF_HARD_KEY_TYPE_PSK
, UAPI_DRV_KDF_HARD_KEY_TYPE_FDRK0
,
UAPI_DRV_KDF_HARD_KEY_TYPE_ODRK0
, UAPI_DRV_KDF_HARD_KEY_TYPE_ODRK1
, UAPI_DRV_KDF_HARD_KEY_TYPE_OARK0
, UAPI_DRV_KDF_HARD_KEY_TYPE_MDRK0
,
UAPI_DRV_KDF_HARD_KEY_TYPE_MDRK1
, UAPI_DRV_KDF_HARD_KEY_TYPE_MDRK2
, UAPI_DRV_KDF_HARD_KEY_TYPE_MDRK3
, UAPI_DRV_KDF_HARD_KEY_TYPE_ABRK_REE
,
UAPI_DRV_KDF_HARD_KEY_TYPE_ABRK_TEE
, UAPI_DRV_KDF_HARD_KEY_TYPE_RDRK_REE
, UAPI_DRV_KDF_HARD_KEY_TYPE_RDRK_TEE
} |
| | KDF 密钥派生时派生key类型选择。 更多...
|
| |
| enum | uapi_drv_kdf_hard_alg_t { UAPI_DRV_KDF_HARD_ALG_SHA256 = 0
, UAPI_DRV_KDF_HARD_ALG_SM3
, UAPI_DRV_KDF_HARD_ALG_MAX
} |
| | KDF 密钥派生,硬件PBKDF2算法时HASH算法选择。 更多...
|
| |
| enum | uapi_drv_klad_engine_t {
UAPI_DRV_KLAD_ENGINE_AES = 0x20
, UAPI_DRV_KLAD_ENGINE_LAE = 0x40
, UAPI_DRV_KLAD_ENGINE_SM4 = 0x50
, UAPI_DRV_KLAD_ENGINE_TDES = 0x70
,
UAPI_DRV_KLAD_ENGINE_SHA1_HMAC = 0xA0
, UAPI_DRV_KLAD_ENGINE_SHA2_HMAC = 0xA1
, UAPI_DRV_KLAD_ENGINE_SM3_HMAC = 0xA2
, UAPI_DRV_KLAD_ENGINE_MAX
} |
| | klad 目标模块算法引擎,决定送出的 key 支持哪个算法。 更多...
|
| |
| enum | uapi_drv_klad_dest_t {
UAPI_DRV_KLAD_DEST_MCIPHER = 0
, UAPI_DRV_KLAD_DEST_HMAC
, UAPI_DRV_KLAD_DEST_FLASH
, UAPI_DRV_KLAD_DEST_NPU
,
UAPI_DRV_KLAD_DEST_AIDSP
, UAPI_DRV_KLAD_DEST_MAX
} |
| | klad 目标模块,决定 key 送给哪个模块使用。 更多...
|
| |
| enum | uapi_drv_klad_flash_key_type_t { UAPI_DRV_KLAD_FLASH_KEY_TYPE_REE_DEC = 0x00
, UAPI_DRV_KLAD_FLASH_KEY_TYPE_TEE_DEC
, UAPI_DRV_KLAD_FLASH_KEY_TYPE_TEE_AUT
, UAPI_DRV_KLAD_FLASH_KEY_TYPE_INVALID
} |
| | Flash 在线解密模式,决定送 key 后使用哪种模式 更多...
|
| |
| enum | uapi_drv_klad_key_size_t { UAPI_DRV_KLAD_KEY_SIZE_128BIT
, UAPI_DRV_KLAD_KEY_SIZE_192BIT
, UAPI_DRV_KLAD_KEY_SIZE_256BIT
, UAPI_DRV_KLAD_KEY_SIZE_INVALID = 0xffffffff
} |
| | 对称密钥长度。决定了最终的工作密钥的长度 更多...
|
| |
| enum | uapi_drv_klad_hmac_type_t {
UAPI_DRV_KLAD_HMAC_TYPE_SHA1 = 0x20
, UAPI_DRV_KLAD_HMAC_TYPE_SHA224
, UAPI_DRV_KLAD_HMAC_TYPE_SHA256
, UAPI_DRV_KLAD_HMAC_TYPE_SHA384
,
UAPI_DRV_KLAD_HMAC_TYPE_SHA512
, UAPI_DRV_KLAD_HMAC_TYPE_SM3 = 0x30
, UAPI_DRV_KLAD_HMAC_TYPE_MAX
, UAPI_DRV_KLAD_HMAC_TYPE_INVALID = 0xffffffff
} |
| | 当目标引擎为HMAC时,决定具体使用的HAMC算法。 更多...
|
| |
|
| errcode_t | uapi_drv_km_init (void) |
| | KM初始化。
|
| |
| errcode_t | uapi_drv_km_deinit (void) |
| | KM去初始化。
|
| |
| errcode_t | uapi_drv_keyslot_create (uint32_t *keyslot_handle, uapi_drv_keyslot_type_t keyslot_type) |
| | 创建keyslot句柄。
|
| |
| errcode_t | uapi_drv_keyslot_destroy (uint32_t keyslot_handle) |
| | 销毁keyslot句柄。
|
| |
| errcode_t | uapi_drv_klad_create (uint32_t *klad_handle) |
| | 创建keyladder通道句柄。
|
| |
| errcode_t | uapi_drv_klad_destroy (uint32_t klad_handle) |
| | 销毁keyladder通道句柄。
|
| |
| errcode_t | uapi_drv_klad_attach (uint32_t klad_handle, uapi_drv_klad_dest_t klad_type, uint32_t keyslot_handle) |
| | 将keyslot句柄与klad句柄关联上。
|
| |
| errcode_t | uapi_drv_klad_detach (uint32_t klad_handle, uapi_drv_klad_dest_t klad_type, uint32_t keyslot_handle) |
| | 将keyslot句柄与klad句柄解关联。
|
| |
| errcode_t | uapi_drv_klad_set_attr (uint32_t klad_handle, const uapi_drv_klad_attr_t *attr) |
| | 设置keyladder的属性。
|
| |
| errcode_t | uapi_drv_klad_get_attr (uint32_t klad_handle, uapi_drv_klad_attr_t *attr) |
| | 获取keyladder的属性。
|
| |
| errcode_t | uapi_drv_klad_set_effective_key (uint32_t klad_handle, const uapi_drv_klad_effective_key_t *key) |
| | 设置effective key。
|
| |
| errcode_t | uapi_drv_klad_set_clear_key (uint32_t klad_handle, const uapi_drv_klad_clear_key_t *key) |
| | 设置clear key。
|
| |
| errcode_t | uapi_drv_kdf_update (uapi_drv_kdf_otp_key_t otp_key, uapi_drv_kdf_update_alg_t alg) |
| | 更新根密钥。
|
| |