未验证 提交 ca964c17 编写于 作者: O openharmony_ci 提交者: Gitee

!13567 新增Huks Native API

Merge pull request !13567 from zengyawen/NativeAPI-huks
...@@ -19,6 +19,9 @@ ...@@ -19,6 +19,9 @@
- [VideoDecoder](_video_decoder.md) - [VideoDecoder](_video_decoder.md)
- [VideoEncoder](_video_encoder.md) - [VideoEncoder](_video_encoder.md)
- [Core](_core.md) - [Core](_core.md)
- [HuksKeyApi](_huks_key_api.md)
- [HuksParamSetApi](_huks_param_set_api.md)
- [HuksTypeApi](_huks_type_api.md)
- 头文件 - 头文件
- [drawing_bitmap.h](drawing__bitmap_8h.md) - [drawing_bitmap.h](drawing__bitmap_8h.md)
- [drawing_brush.h](drawing__brush_8h.md) - [drawing_brush.h](drawing__brush_8h.md)
...@@ -67,6 +70,9 @@ ...@@ -67,6 +70,9 @@
- [native_averrors.h](native__averrors_8h.md) - [native_averrors.h](native__averrors_8h.md)
- [native_avformat.h](native__avformat_8h.md) - [native_avformat.h](native__avformat_8h.md)
- [native_avmemory.h](native__avmemory_8h.md) - [native_avmemory.h](native__avmemory_8h.md)
- [native_huks_api.h](native__huks__api_8h.md)
- [native_huks_param.h](native__huks__param_8h.md)
- [native_huks_type.h](native__huks__type_8h.md)
- 结构体 - 结构体
- [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md) - [OH_Drawing_BitmapFormat](_o_h___drawing___bitmap_format.md)
- [OH_NativeBuffer_Config](_o_h___native_buffer___config.md) - [OH_NativeBuffer_Config](_o_h___native_buffer___config.md)
...@@ -104,4 +110,16 @@ ...@@ -104,4 +110,16 @@
- [OHOS::AVSession::AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md) - [OHOS::AVSession::AVSessionPixelMap](_o_h_o_s_1_1_a_v_session_1_1_a_v_session_pixel_map.md)
- [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) - [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)
- [OHOS::AVSession::SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md) - [OHOS::AVSession::SessionListener](_o_h_o_s_1_1_a_v_session_1_1_session_listener.md)
- [OHOS::AVSession::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) - [OHOS::AVSession::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md)
\ No newline at end of file - [OH_Huks_Blob](_o_h___huks___blob.md)
- [OH_Huks_CertChain](_o_h___huks___cert_chain.md)
- [OH_Huks_KeyInfo](_o_h___huks___key_info.md)
- [OH_Huks_KeyMaterial25519](_o_h___huks___key_material25519.md)
- [OH_Huks_KeyMaterialDh](_o_h___huks___key_material_dh.md)
- [OH_Huks_KeyMaterialDsa](_o_h___huks___key_material_dsa.md)
- [OH_Huks_KeyMaterialEcc](_o_h___huks___key_material_ecc.md)
- [OH_Huks_KeyMaterialRsa](_o_h___huks___key_material_rsa.md)
- [OH_Huks_Param](_o_h___huks___param.md)
- [OH_Huks_ParamSet](_o_h___huks___param_set.md)
- [OH_Huks_PubKeyInfo](_o_h___huks___pub_key_info.md)
- [OH_Huks_Result](_o_h___huks___result.md)
# HuksKeyApi
## 概述
描述HUKS向应用提供密钥库能力,包括密钥管理及密钥的密码学操作等功能。 管理的密钥可以由应用导入或者由应用调用HUKS接口生成。
\@syscap SystemCapability.Security.Huks
**起始版本:**
9
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [native_huks_api.h](native__huks__api_8h.md) | 声明用于访问HUKS的API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_Huks_GetSdkVersion](#oh_huks_getsdkversion) (struct [OH_Huks_Blob](_o_h___huks___blob.md) \*sdkVersion) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>获取当前Huks sdk版本号。 |
| [OH_Huks_GenerateKeyItem](#oh_huks_generatekeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetIn, struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetOut) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>生成密钥。 |
| [OH_Huks_ImportKeyItem](#oh_huks_importkeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*key) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>导入明文密钥。 |
| [OH_Huks_ImportWrappedKeyItem](#oh_huks_importwrappedkeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*wrappingKeyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*wrappedKeyData) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>导入密文密钥。 |
| [OH_Huks_ExportPublicKeyItem](#oh_huks_exportpublickeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*key) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>导出公钥。 |
| [OH_Huks_DeleteKeyItem](#oh_huks_deletekeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>删除密钥。 |
| [OH_Huks_GetKeyItemParamSet](#oh_huks_getkeyitemparamset) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetIn, struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetOut) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>获取密钥的属性集。 |
| [OH_Huks_IsKeyItemExist](#oh_huks_iskeyitemexist) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>判断密钥是否存在。 |
| [OH_Huks_AttestKeyItem](#oh_huks_attestkeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, struct [OH_Huks_CertChain](_o_h___huks___cert_chain.md) \*certChain) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>获取密钥证书链。 |
| [OH_Huks_InitSession](#oh_huks_initsession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*challenge) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>初始化密钥会话接口,并获取一个句柄(必选)和挑战值(可选)。 |
| [OH_Huks_UpdateSession](#oh_huks_updatesession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*inData, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*outData) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>分段添加密钥操作的数据并进行相应的密钥操作,输出处理数据。 |
| [OH_Huks_FinishSession](#oh_huks_finishsession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*inData, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*outData) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>结束密钥会话并进行相应的密钥操作,输出处理数据。 |
| [OH_Huks_AbortSession](#oh_huks_abortsession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>取消密钥会话。 |
## 函数说明
### OH_Huks_AbortSession()
```
struct OH_Huks_Result OH_Huks_AbortSession (const struct OH_Huks_Blob * handle, const struct OH_Huks_ParamSet * paramSet )
```
**描述:**
取消密钥会话。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 密钥会话句柄,通过[OH_Huks_InitSession](#oh_huks_initsession)接口生成的。 |
| paramSet | 取消密钥会话需要的输入参数集(默认传空)。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
**参见:**
[OH_Huks_InitSession](#oh_huks_initsession)
[OH_Huks_UpdateSession](#oh_huks_updatesession)
[OH_Huks_FinishSession](#oh_huks_finishsession)
### OH_Huks_AttestKeyItem()
```
struct OH_Huks_Result OH_Huks_AttestKeyItem (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSet, struct OH_Huks_CertChain * certChain )
```
**描述:**
获取密钥证书链。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 要获取证书的密钥的别名。 |
| paramSet | 获取密钥证书需要的参数。 |
| certChain | 存放输出的密钥证书链。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时获取成功,其他时为错误。
### OH_Huks_DeleteKeyItem()
```
struct OH_Huks_Result OH_Huks_DeleteKeyItem (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSet )
```
**描述:**
删除密钥。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 待删除密钥的别名,应与密钥生成时使用的别名相同。 |
| paramSet | 删除密钥需要属性参数(默认传空)。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
### OH_Huks_ExportPublicKeyItem()
```
struct OH_Huks_Result OH_Huks_ExportPublicKeyItem (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSet, struct OH_Huks_Blob * key )
```
**描述:**
导出公钥。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 待导出公钥的密钥别名,应与所用密钥生成时使用的别名相同。 |
| paramSet | 导出公钥需要的属性参数。 |
| key | 存放导出的公钥。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
### OH_Huks_FinishSession()
```
struct OH_Huks_Result OH_Huks_FinishSession (const struct OH_Huks_Blob * handle, const struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Blob * inData, struct OH_Huks_Blob * outData )
```
**描述:**
结束密钥会话并进行相应的密钥操作,输出处理数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 密钥会话句柄,通过[OH_Huks_InitSession](#oh_huks_initsession)接口生成的。 |
| paramSet | 密钥操作对应的输入参数集。 |
| inData | 要处理的输入数据。 |
| outData | 经过对应的密钥操作后输出的数据。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
**参见:**
[OH_Huks_InitSession](#oh_huks_initsession)
[OH_Huks_UpdateSession](#oh_huks_updatesession)
[OH_Huks_AbortSession](#oh_huks_abortsession)
### OH_Huks_GenerateKeyItem()
```
struct OH_Huks_Result OH_Huks_GenerateKeyItem (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSetIn, struct OH_Huks_ParamSet * paramSetOut )
```
**描述:**
生成密钥。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 给要生成的密钥的别名,需要保证业务所在进程内唯一,否则会发生覆盖。 |
| paramSetIn | 生成密钥的属性信息的参数集。 |
| paramSetOut | 生成密钥为临时类型时,存放着密钥数据;非临时类型可为空。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
### OH_Huks_GetKeyItemParamSet()
```
struct OH_Huks_Result OH_Huks_GetKeyItemParamSet (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSetIn, struct OH_Huks_ParamSet * paramSetOut )
```
**描述:**
获取密钥的属性集。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 要获取参数集的密钥别名。 |
| paramSetIn | 要获取参数集需要的属性TAG(默认传空)。 |
| paramSetOut | 获取到的输出参数集。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时获取成功,其他时为失败。
### OH_Huks_GetSdkVersion()
```
struct OH_Huks_Result OH_Huks_GetSdkVersion (struct OH_Huks_Blob * sdkVersion)
```
**描述:**
获取当前Huks sdk版本号。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| sdkVersion | 用于存放获取到的版本信息(字符串格式)。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
### OH_Huks_ImportKeyItem()
```
struct OH_Huks_Result OH_Huks_ImportKeyItem (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Blob * key )
```
**描述:**
导入明文密钥。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 待导入密钥的别名,需要保证业务所在进程内唯一,否则会发生覆盖。 |
| paramSet | 待导入密钥的属性参数。 |
| key | 待导入密钥数据,需符合Huks的格式要求,具体见[HuksTypeApi](_huks_type_api.md)。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
### OH_Huks_ImportWrappedKeyItem()
```
struct OH_Huks_Result OH_Huks_ImportWrappedKeyItem (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_Blob * wrappingKeyAlias, const struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Blob * wrappedKeyData )
```
**描述:**
导入密文密钥。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 待导入密钥的别名,需要保证业务所在进程内唯一,否则会发生覆盖。 |
| wrappingKeyAlias | 密钥别名,该对应密钥用于密钥协商出密钥解密待导入密钥。 |
| paramSet | 待导入加密密钥的属性参数。 |
| wrappedKeyData | 需要导入的加密的密钥数据,需要符合Huks定义的格式,具体见[OH_Huks_AlgSuite](_huks_type_api.md#oh_huks_algsuite) |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
### OH_Huks_InitSession()
```
struct OH_Huks_Result OH_Huks_InitSession (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSet, struct OH_Huks_Blob * handle, struct OH_Huks_Blob * challenge )
```
**描述:**
初始化密钥会话接口,并获取一个句柄(必选)和挑战值(可选)。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 操作的密钥的别名。 |
| paramSet | 初始化操作的密钥参数集合。 |
| handle | 密钥会话的句柄,后续其他操作时传入该句柄,包括[OH_Huks_UpdateSession](#oh_huks_updatesession), [OH_Huks_FinishSession](#oh_huks_finishsession), [OH_Huks_AbortSession](#oh_huks_abortsession)。 |
| challenge | 存放安全访问控制时传回的challenge |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
**参见:**
[OH_Huks_UpdateSession](#oh_huks_updatesession)
[OH_Huks_FinishSession](#oh_huks_finishsession)
[OH_Huks_AbortSession](#oh_huks_abortsession)
### OH_Huks_IsKeyItemExist()
```
struct OH_Huks_Result OH_Huks_IsKeyItemExist (const struct OH_Huks_Blob * keyAlias, const struct OH_Huks_ParamSet * paramSet )
```
**描述:**
判断密钥是否存在。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| keyAlias | 要查找的密钥的别名。 |
| paramSet | 查询密钥需要的属性TAG(默认传空)。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时密钥存在, 返回[OH_Huks_ErrCode#OH_HUKS_ERR_CODE_ITEM_NOT_EXIST](_huks_type_api.md)不存在,其他时为错误。
### OH_Huks_UpdateSession()
```
struct OH_Huks_Result OH_Huks_UpdateSession (const struct OH_Huks_Blob * handle, const struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Blob * inData, struct OH_Huks_Blob * outData )
```
**描述:**
分段添加密钥操作的数据并进行相应的密钥操作,输出处理数据。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| handle | 密钥会话句柄,通过[OH_Huks_InitSession](#oh_huks_initsession)接口生成的。 |
| paramSet | 密钥操作对应的输入参数集。 |
| inData | 要处理的输入数据,如果数据过大,可分片多次调用。 |
| outData | 经过对应的密钥操作后输出的数据。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时接口使用成功,其他时为错误。
**参见:**
[OH_Huks_InitSession](#oh_huks_initsession)
[OH_Huks_FinishSession](#oh_huks_finishsession)
[OH_Huks_AbortSession](#oh_huks_abortsession)
# HuksParamSetApi
## 概述
描述HUKS参数集的能力,支持HUKS密钥管理接口的使用,包括初始化参数集、添加参数、构造参数集、释放参数集等HUKS参数集生命周期管理函数, 还包括获取参数、复制参数集、查询参数集、检查是否有效等函数。
\@syscap SystemCapability.Security.Huks
**起始版本:**
9
## 汇总
### 文件
| 名称 | 描述 |
| -------- | -------- |
| [native_huks_param.h](native__huks__param_8h.md) | 提供参数集构造、使用和销毁的API。 |
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_Huks_InitParamSet](#oh_huks_initparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t<br/>初始化参数集。 |
| [OH_Huks_AddParams](#oh_huks_addparams) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Param](_o_h___huks___param.md) \*params, uint32_t paramCnt) | int32_t<br/>添加参数到参数集里面。 |
| [OH_Huks_BuildParamSet](#oh_huks_buildparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t<br/>构造正式的参数集。 |
| [OH_Huks_FreeParamSet](#oh_huks_freeparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | void<br/>销毁参数集。 |
| [OH_Huks_CopyParamSet](#oh_huks_copyparamset) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*fromParamSet, uint32_t fromParamSetSize, struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t<br/>复制参数集(深拷贝)。 |
| [OH_Huks_GetParam](#oh_huks_getparam) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, uint32_t tag, struct [OH_Huks_Param](_o_h___huks___param.md) \*\*param) | int32_t<br/>从参数集中获取参数。 |
| [OH_Huks_FreshParamSet](#oh_huks_freshparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, bool isCopy) | int32_t<br/>刷新(复制)参数集内Blob类型的数据到参数集内。 |
| [OH_Huks_isParamSetTagValid](#oh_huks_isparamsettagvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | int32_t<br/>检查参数集中的参数是否有效、是否有重复。 |
| [OH_Huks_isParamSetValid](#oh_huks_isparamsetvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, uint32_t size) | int32_t<br/>检查参数集大小是否有效。 |
| [OH_Huks_CheckParamMatch](#oh_huks_checkparammatch) (const struct [OH_Huks_Param](_o_h___huks___param.md) \*baseParam, const struct [OH_Huks_Param](_o_h___huks___param.md) \*param) | int32_t<br/>比较两个参数是否相同 |
## 函数说明
### OH_Huks_AddParams()
```
int32_t OH_Huks_AddParams (struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Param * params, uint32_t paramCnt )
```
**描述:**
添加参数到参数集里面。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向要被添加参数的参数集的指针。 |
| params | 指向要添加的参数数组的指针。 |
| paramCnt | 待添加参数数组的参数个数。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示添加成功,其他时为错误。
### OH_Huks_BuildParamSet()
```
int32_t OH_Huks_BuildParamSet (struct OH_Huks_ParamSet ** paramSet)
```
**描述:**
构造正式的参数集。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向要被正式构造的参数集的指针地址。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示构建成功,其他时为错误。
### OH_Huks_CheckParamMatch()
```
int32_t OH_Huks_CheckParamMatch (const struct OH_Huks_Param * baseParam, const struct OH_Huks_Param * param )
```
**描述:**
比较两个参数是否相同
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| baseParam | 指向被比较的参数的指针。 |
| param | 指向比较的参数的指针。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示相同,其他时为不同或者错误。
### OH_Huks_CopyParamSet()
```
int32_t OH_Huks_CopyParamSet (const struct OH_Huks_ParamSet * fromParamSet, uint32_t fromParamSetSize, struct OH_Huks_ParamSet ** paramSet )
```
**描述:**
复制参数集(深拷贝)。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| fromParamSet | 指向要被复制的参数集的指针。 |
| fromParamSetSize | 被复制的参数集占用内存的大小。 |
| paramSet | 指向生成新的参数集的指针地址。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示复制成功,其他时为错误。
### OH_Huks_FreeParamSet()
```
void OH_Huks_FreeParamSet (struct OH_Huks_ParamSet ** paramSet)
```
**描述:**
销毁参数集。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向要被销毁的参数集的指针地址。 |
### OH_Huks_FreshParamSet()
```
int32_t OH_Huks_FreshParamSet (struct OH_Huks_ParamSet * paramSet, bool isCopy )
```
**描述:**
刷新(复制)参数集内Blob类型的数据到参数集内。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向参数集的指针。 |
| isCopy | 是否要刷新参数集内存中的struct HksBlob型的参数数据。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示成功,其他时为错误。
### OH_Huks_GetParam()
```
int32_t OH_Huks_GetParam (const struct OH_Huks_ParamSet * paramSet, uint32_t tag, struct OH_Huks_Param ** param )
```
**描述:**
从参数集中获取参数。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向参数集的指针。 |
| tag | 要获取的对应参数的值。 |
| param | 指向获取到的参数的指针地址。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示获取成功,其他时为错误。
### OH_Huks_InitParamSet()
```
int32_t OH_Huks_InitParamSet (struct OH_Huks_ParamSet ** paramSet)
```
**描述:**
初始化参数集。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向要初始化的参数集的指针地址。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示初始化成功,其他时为错误。
### OH_Huks_isParamSetTagValid()
```
int32_t OH_Huks_isParamSetTagValid (const struct OH_Huks_ParamSet * paramSet)
```
**描述:**
检查参数集中的参数是否有效、是否有重复。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向参数集的指针。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示有效,其他时为无效或者错误。
### OH_Huks_isParamSetValid()
```
int32_t OH_Huks_isParamSetValid (const struct OH_Huks_ParamSet * paramSet, uint32_t size )
```
**描述:**
检查参数集大小是否有效。
**参数:**
| 名称 | 描述 |
| -------- | -------- |
| paramSet | 指向参数集的指针。 |
| size | 参数集占用的内存大小。 |
**返回:**
返回[OH_Huks_ErrCode#OH_HUKS_SUCCESS](_huks_type_api.md)时表示有效,其他时为无效或者错误。
# OH_Huks_Blob
## 概述
定义存放数据的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [size](#size) | uint32_t<br/>数据大小 |
| [data](#data) | uint8_t \*<br/>指向数据内存的指针 |
## 结构体成员变量说明
### data
```
uint8_t* OH_Huks_Blob::data
```
**描述:**
指向数据内存的指针
### size
```
uint32_t OH_Huks_Blob::size
```
**描述:**
数据大小
# OH_Huks_CertChain
## 概述
定义证书链的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [certs](#certs) | struct [OH_Huks_Blob](_o_h___huks___blob.md) \*<br/>指向证书数据的指针。 |
| [certsCount](#certscount) | uint32_t<br/>证书本数。 |
## 结构体成员变量说明
### certs
```
struct OH_Huks_Blob* OH_Huks_CertChain::certs
```
**描述:**
指向证书数据的指针。
### certsCount
```
uint32_t OH_Huks_CertChain::certsCount
```
**描述:**
证书本数。
# OH_Huks_KeyInfo
## 概述
定义密钥信息的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [alias](#alias) | struct [OH_Huks_Blob](_o_h___huks___blob.md)<br/>密钥的别名。 |
| [paramSet](#paramset) | struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*<br/>指向密钥参数集的指针。 |
## 结构体成员变量说明
### alias
```
struct OH_Huks_Blob OH_Huks_KeyInfo::alias
```
**描述:**
密钥的别名。
### paramSet
```
struct OH_Huks_ParamSet* OH_Huks_KeyInfo::paramSet
```
**描述:**
指向密钥参数集的指针。
# OH_Huks_KeyMaterial25519
## 概述
定义25519类型密钥的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)<br/>密钥的算法类型。 |
| [keySize](#keysize) | uint32_t<br/>25519类型密钥的长度。 |
| [pubKeySize](#pubkeysize) | uint32_t<br/>公钥的长度。 |
| [priKeySize](#prikeysize) | uint32_t<br/>私钥的长度。 |
| [reserved](#reserved) | uint32_t<br/>保留。 |
## 结构体成员变量说明
### keyAlg
```
enum OH_Huks_KeyAlg OH_Huks_KeyMaterial25519::keyAlg
```
**描述:**
密钥的算法类型。
### keySize
```
uint32_t OH_Huks_KeyMaterial25519::keySize
```
**描述:**
25519类型密钥的长度。
### priKeySize
```
uint32_t OH_Huks_KeyMaterial25519::priKeySize
```
**描述:**
私钥的长度。
### pubKeySize
```
uint32_t OH_Huks_KeyMaterial25519::pubKeySize
```
**描述:**
公钥的长度。
### reserved
```
uint32_t OH_Huks_KeyMaterial25519::reserved
```
**描述:**
保留。
# OH_Huks_KeyMaterialDh
## 概述
定义Dh密钥的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)<br/>密钥的算法类型。 |
| [keySize](#keysize) | uint32_t<br/>Dh密钥的长度。 |
| [pubKeySize](#pubkeysize) | uint32_t<br/>公钥的长度。 |
| [priKeySize](#prikeysize) | uint32_t<br/>私钥的长度。 |
| [reserved](#reserved) | uint32_t<br/>保留。 |
## 结构体成员变量说明
### keyAlg
```
enum OH_Huks_KeyAlg OH_Huks_KeyMaterialDh::keyAlg
```
**描述:**
密钥的算法类型。
### keySize
```
uint32_t OH_Huks_KeyMaterialDh::keySize
```
**描述:**
Dh密钥的长度。
### priKeySize
```
uint32_t OH_Huks_KeyMaterialDh::priKeySize
```
**描述:**
私钥的长度。
### pubKeySize
```
uint32_t OH_Huks_KeyMaterialDh::pubKeySize
```
**描述:**
公钥的长度。
### reserved
```
uint32_t OH_Huks_KeyMaterialDh::reserved
```
**描述:**
保留。
# OH_Huks_KeyMaterialDsa
## 概述
定义Dsa密钥的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)<br/>密钥的算法类型。 |
| [keySize](#keysize) | uint32_t<br/>密钥的长度。 |
| [xSize](#xsize) | uint32_t<br/>x值的长度。 |
| [ySize](#ysize) | uint32_t<br/>y值的长度。 |
| [pSize](#psize) | uint32_t<br/>p值的长度。 |
| [qSize](#qsize) | uint32_t<br/>q值的长度。 |
| [gSize](#gsize) | uint32_t<br/>g值的长度。 |
## 结构体成员变量说明
### gSize
```
uint32_t OH_Huks_KeyMaterialDsa::gSize
```
**描述:**
g值的长度。
### keyAlg
```
enum OH_Huks_KeyAlg OH_Huks_KeyMaterialDsa::keyAlg
```
**描述:**
密钥的算法类型。
### keySize
```
uint32_t OH_Huks_KeyMaterialDsa::keySize
```
**描述:**
密钥的长度。
### pSize
```
uint32_t OH_Huks_KeyMaterialDsa::pSize
```
**描述:**
p值的长度。
### qSize
```
uint32_t OH_Huks_KeyMaterialDsa::qSize
```
**描述:**
q值的长度。
### xSize
```
uint32_t OH_Huks_KeyMaterialDsa::xSize
```
**描述:**
x值的长度。
### ySize
```
uint32_t OH_Huks_KeyMaterialDsa::ySize
```
**描述:**
y值的长度。
# OH_Huks_KeyMaterialEcc
## 概述
定义Ecc密钥的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)<br/>密钥的算法类型。 |
| [keySize](#keysize) | uint32_t<br/>密钥的长度。 |
| [xSize](#xsize) | uint32_t<br/>x值的长度。 |
| [ySize](#ysize) | uint32_t<br/>y值的长度。 |
| [zSize](#zsize) | uint32_t<br/>z值的长度。 |
## 结构体成员变量说明
### keyAlg
```
enum OH_Huks_KeyAlg OH_Huks_KeyMaterialEcc::keyAlg
```
**描述:**
密钥的算法类型。
### keySize
```
uint32_t OH_Huks_KeyMaterialEcc::keySize
```
**描述:**
密钥的长度。
### xSize
```
uint32_t OH_Huks_KeyMaterialEcc::xSize
```
**描述:**
x值的长度。
### ySize
```
uint32_t OH_Huks_KeyMaterialEcc::ySize
```
**描述:**
y值的长度。
### zSize
```
uint32_t OH_Huks_KeyMaterialEcc::zSize
```
**描述:**
z值的长度。
# OH_Huks_KeyMaterialRsa
## 概述
定义Rsa密钥的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)<br/>密钥的算法类型。 |
| [keySize](#keysize) | uint32_t<br/>密钥的长度。 |
| [nSize](#nsize) | uint32_t<br/>n值的长度。 |
| [eSize](#esize) | uint32_t<br/>e值的长度。 |
| [dSize](#dsize) | uint32_t<br/>d值的长度。 |
## 结构体成员变量说明
### dSize
```
uint32_t OH_Huks_KeyMaterialRsa::dSize
```
**描述:**
d值的长度。
### eSize
```
uint32_t OH_Huks_KeyMaterialRsa::eSize
```
**描述:**
e值的长度。
### keyAlg
```
enum OH_Huks_KeyAlg OH_Huks_KeyMaterialRsa::keyAlg
```
**描述:**
密钥的算法类型。
### keySize
```
uint32_t OH_Huks_KeyMaterialRsa::keySize
```
**描述:**
密钥的长度。
### nSize
```
uint32_t OH_Huks_KeyMaterialRsa::nSize
```
**描述:**
n值的长度。
# OH_Huks_Param
## 概述
定义参数集中的参数结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [tag](#tag) | uint32_t<br/>标签值 |
| | union { |
| | bool [boolParam](#boolparam) |
| | int32_t [int32Param](#int32param) |
| | uint32_t [uint32Param](#uint32param) |
| | uint64_t [uint64Param](#uint64param) |
| | struct [OH_Huks_Blob](_o_h___huks___blob.md)[blob](#blob) |
| | }; |
## 结构体成员变量说明
### blob
```
struct OH_Huks_Blob OH_Huks_Param::blob
```
**描述:**
struct OH_Huks_Blob型参数。
### boolParam
```
bool OH_Huks_Param::boolParam
```
**描述:**
bool型参数。
### int32Param
```
int32_t OH_Huks_Param::int32Param
```
**描述:**
int32_t型参数。
### tag
```
uint32_t OH_Huks_Param::tag
```
**描述:**
标签值
### uint32Param
```
uint32_t OH_Huks_Param::uint32Param
```
**描述:**
uint32_t型参数。
### uint64Param
```
uint64_t OH_Huks_Param::uint64Param
```
**描述:**
uint64_t型参数。
# OH_Huks_ParamSet
## 概述
定义参数集的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [paramSetSize](#paramsetsize) | uint32_t<br/>参数集的内存大小。 |
| [paramsCnt](#paramscnt) | uint32_t<br/>参数的个数。 |
| [params](#params) [] | struct [OH_Huks_Param](_o_h___huks___param.md)<br/>参数数组。 |
## 结构体成员变量说明
### params
```
struct OH_Huks_Param OH_Huks_ParamSet::params[]
```
**描述:**
参数数组。
### paramsCnt
```
uint32_t OH_Huks_ParamSet::paramsCnt
```
**描述:**
参数的个数。
### paramSetSize
```
uint32_t OH_Huks_ParamSet::paramSetSize
```
**描述:**
参数集的内存大小。
# OH_Huks_PubKeyInfo
## 概述
定义公钥信息的结构体类型。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)<br/>公钥的算法类型。 |
| [keySize](#keysize) | uint32_t<br/>公钥的长度。 |
| [nOrXSize](#norxsize) | uint32_t<br/>n或X值的长度。 |
| [eOrYSize](#eorysize) | uint32_t<br/>e或Y值的长度。 |
| [placeHolder](#placeholder) | uint32_t<br/>占位符大小。 |
## 结构体成员变量说明
### eOrYSize
```
uint32_t OH_Huks_PubKeyInfo::eOrYSize
```
**描述:**
e或Y值的长度。
### keyAlg
```
enum OH_Huks_KeyAlg OH_Huks_PubKeyInfo::keyAlg
```
**描述:**
公钥的算法类型。
### keySize
```
uint32_t OH_Huks_PubKeyInfo::keySize
```
**描述:**
公钥的长度。
### nOrXSize
```
uint32_t OH_Huks_PubKeyInfo::nOrXSize
```
**描述:**
n或X值的长度。
### placeHolder
```
uint32_t OH_Huks_PubKeyInfo::placeHolder
```
**描述:**
占位符大小。
# OH_Huks_Result
## 概述
表示状态返回数据,包括返回码和消息。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -------- | -------- |
| [errorCode](#errorcode) | int32_t<br/>状态返回码。 |
| [errorMsg](#errormsg) | const char \*<br/>对状态返回码的说明信息。 |
| [data](#data) | uint8_t \*<br/>其他返回数据。 |
## 结构体成员变量说明
### data
```
uint8_t* OH_Huks_Result::data
```
**描述:**
其他返回数据。
### errorCode
```
int32_t OH_Huks_Result::errorCode
```
**描述:**
状态返回码。
### errorMsg
```
const char* OH_Huks_Result::errorMsg
```
**描述:**
对状态返回码的说明信息。
# native_huks_api.h
## 概述
声明用于访问HUKS的API。
**起始版本:**
9
**相关模块:**
[HuksKeyApi](_huks_key_api.md)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_Huks_GetSdkVersion](_huks_key_api.md#oh_huks_getsdkversion) (struct [OH_Huks_Blob](_o_h___huks___blob.md) \*sdkVersion) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>获取当前Huks sdk版本号。 |
| [OH_Huks_GenerateKeyItem](_huks_key_api.md#oh_huks_generatekeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetIn, struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetOut) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>生成密钥。 |
| [OH_Huks_ImportKeyItem](_huks_key_api.md#oh_huks_importkeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*key) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>导入明文密钥。 |
| [OH_Huks_ImportWrappedKeyItem](_huks_key_api.md#oh_huks_importwrappedkeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*wrappingKeyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*wrappedKeyData) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>导入密文密钥。 |
| [OH_Huks_ExportPublicKeyItem](_huks_key_api.md#oh_huks_exportpublickeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*key) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>导出公钥。 |
| [OH_Huks_DeleteKeyItem](_huks_key_api.md#oh_huks_deletekeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>删除密钥。 |
| [OH_Huks_GetKeyItemParamSet](_huks_key_api.md#oh_huks_getkeyitemparamset) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetIn, struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSetOut) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>获取密钥的属性集。 |
| [OH_Huks_IsKeyItemExist](_huks_key_api.md#oh_huks_iskeyitemexist) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>判断密钥是否存在。 |
| [OH_Huks_AttestKeyItem](_huks_key_api.md#oh_huks_attestkeyitem) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, struct [OH_Huks_CertChain](_o_h___huks___cert_chain.md) \*certChain) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>获取密钥证书链。 |
| [OH_Huks_InitSession](_huks_key_api.md#oh_huks_initsession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*keyAlias, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*challenge) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>初始化密钥会话接口,并获取一个句柄(必选)和挑战值(可选)。 |
| [OH_Huks_UpdateSession](_huks_key_api.md#oh_huks_updatesession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*inData, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*outData) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>分段添加密钥操作的数据并进行相应的密钥操作,输出处理数据。 |
| [OH_Huks_FinishSession](_huks_key_api.md#oh_huks_finishsession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*inData, struct [OH_Huks_Blob](_o_h___huks___blob.md) \*outData) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>结束密钥会话并进行相应的密钥操作,输出处理数据。 |
| [OH_Huks_AbortSession](_huks_key_api.md#oh_huks_abortsession) (const struct [OH_Huks_Blob](_o_h___huks___blob.md) \*handle, const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | struct [OH_Huks_Result](_o_h___huks___result.md)<br/>取消密钥会话。 |
# native_huks_param.h
## 概述
提供参数集构造、使用和销毁的API。
**起始版本:**
9
**相关模块:**
[HuksParamSetApi](_huks_param_set_api.md)
## 汇总
### 函数
| 名称 | 描述 |
| -------- | -------- |
| [OH_Huks_InitParamSet](_huks_param_set_api.md#oh_huks_initparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t<br/>初始化参数集。 |
| [OH_Huks_AddParams](_huks_param_set_api.md#oh_huks_addparams) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, const struct [OH_Huks_Param](_o_h___huks___param.md) \*params, uint32_t paramCnt) | int32_t<br/>添加参数到参数集里面。 |
| [OH_Huks_BuildParamSet](_huks_param_set_api.md#oh_huks_buildparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t<br/>构造正式的参数集。 |
| [OH_Huks_FreeParamSet](_huks_param_set_api.md#oh_huks_freeparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | void<br/>销毁参数集。 |
| [OH_Huks_CopyParamSet](_huks_param_set_api.md#oh_huks_copyparamset) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*fromParamSet, uint32_t fromParamSetSize, struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t<br/>复制参数集(深拷贝)。 |
| [OH_Huks_GetParam](_huks_param_set_api.md#oh_huks_getparam) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, uint32_t tag, struct [OH_Huks_Param](_o_h___huks___param.md) \*\*param) | int32_t<br/>从参数集中获取参数。 |
| [OH_Huks_FreshParamSet](_huks_param_set_api.md#oh_huks_freshparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, bool isCopy) | int32_t<br/>刷新(复制)参数集内Blob类型的数据到参数集内。 |
| [OH_Huks_isParamSetTagValid](_huks_param_set_api.md#oh_huks_isparamsettagvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | int32_t<br/>检查参数集中的参数是否有效、是否有重复。 |
| [OH_Huks_isParamSetValid](_huks_param_set_api.md#oh_huks_isparamsetvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, uint32_t size) | int32_t<br/>检查参数集大小是否有效。 |
| [OH_Huks_CheckParamMatch](_huks_param_set_api.md#oh_huks_checkparammatch) (const struct [OH_Huks_Param](_o_h___huks___param.md) \*baseParam, const struct [OH_Huks_Param](_o_h___huks___param.md) \*param) | int32_t<br/>比较两个参数是否相同 |
# native_huks_type.h
## 概述
提供huks中的枚举变量、结构体定义与宏定义。
**起始版本:**
9
**相关模块:**
[HuksTypeApi](_huks_type_api.md)
## 汇总
### 结构体
| 名称 | 描述 |
| -------- | -------- |
| [OH_Huks_Result](_o_h___huks___result.md) | struct<br/>表示状态返回数据,包括返回码和消息。 |
| [OH_Huks_Blob](_o_h___huks___blob.md) | struct<br/>定义存放数据的结构体类型。 |
| [OH_Huks_Param](_o_h___huks___param.md) | struct<br/>定义参数集中的参数结构体类型。 |
| [OH_Huks_ParamSet](_o_h___huks___param_set.md) | struct<br/>定义参数集的结构体类型。 |
| [OH_Huks_CertChain](_o_h___huks___cert_chain.md) | struct<br/>定义证书链的结构体类型。 |
| [OH_Huks_KeyInfo](_o_h___huks___key_info.md) | struct<br/>定义密钥信息的结构体类型。 |
| [OH_Huks_PubKeyInfo](_o_h___huks___pub_key_info.md) | struct<br/>定义公钥信息的结构体类型。 |
| [OH_Huks_KeyMaterialRsa](_o_h___huks___key_material_rsa.md) | struct<br/>定义Rsa密钥的结构体类型。 |
| [OH_Huks_KeyMaterialEcc](_o_h___huks___key_material_ecc.md) | struct<br/>定义Ecc密钥的结构体类型。 |
| [OH_Huks_KeyMaterialDsa](_o_h___huks___key_material_dsa.md) | struct<br/>定义Dsa密钥的结构体类型。 |
| [OH_Huks_KeyMaterialDh](_o_h___huks___key_material_dh.md) | struct<br/>定义Dh密钥的结构体类型。 |
| [OH_Huks_KeyMaterial25519](_o_h___huks___key_material25519.md) | struct<br/>定义25519类型密钥的结构体类型。 |
### 宏定义
| 名称 | 描述 |
| -------- | -------- |
| **OH_HUKS_AE_TAG_LEN** 16 | |
| **OH_HUKS_BITS_PER_BYTE** 8 | |
| **OH_HUKS_MAX_KEY_SIZE** 2048 | |
| **OH_HUKS_AE_NONCE_LEN** 12 | |
| **OH_HUKS_MAX_KEY_ALIAS_LEN** 64 | |
| **OH_HUKS_MAX_PROCESS_NAME_LEN** 50 | |
| **OH_HUKS_MAX_RANDOM_LEN** 1024 | |
| **OH_HUKS_SIGNATURE_MIN_SIZE** 64 | |
| **OH_HUKS_MAX_OUT_BLOB_SIZE** (5 \* 1024 \* 1024) | |
| **OH_HUKS_WRAPPED_FORMAT_MAX_SIZE** (1024 \* 1024) | |
| **OH_HUKS_IMPORT_WRAPPED_KEY_TOTAL_BLOBS** 10 | |
| **TOKEN_CHALLENGE_LEN** 32 | |
| **SHA256_SIGN_LEN** 32 | |
| **TOKEN_SIZE** 32 | |
| **MAX_AUTH_TIMEOUT_SECOND** 60 | |
| **SECURE_SIGN_VERSION** 0x01000001 | |
### 枚举
| 名称 | 描述 |
| -------- | -------- |
| [OH_Huks_KeyPurpose](_huks_type_api.md#oh_huks_keypurpose) {<br/>OH_HUKS_KEY_PURPOSE_ENCRYPT = 1, <br/>OH_HUKS_KEY_PURPOSE_DECRYPT = 2, <br/>OH_HUKS_KEY_PURPOSE_SIGN = 4, <br/>OH_HUKS_KEY_PURPOSE_VERIFY = 8, <br/>OH_HUKS_KEY_PURPOSE_DERIVE = 16, <br/>OH_HUKS_KEY_PURPOSE_WRAP = 32, <br/>OH_HUKS_KEY_PURPOSE_UNWRAP = 64, <br/>OH_HUKS_KEY_PURPOSE_MAC = 128,<br/>OH_HUKS_KEY_PURPOSE_AGREE = 256<br/>} | 密钥用途类型。 |
| [OH_Huks_KeyDigest](_huks_type_api.md#oh_huks_keydigest) {<br/>OH_HUKS_DIGEST_NONE = 0, <br/>OH_HUKS_DIGEST_MD5 = 1, <br/>OH_HUKS_DIGEST_SM3 = 2, <br/>OH_HUKS_DIGEST_SHA1 = 10, <br/>OH_HUKS_DIGEST_SHA224 = 11, <br/>OH_HUKS_DIGEST_SHA256 = 12, <br/>OH_HUKS_DIGEST_SHA384 = 13, <br/>OH_HUKS_DIGEST_SHA512 = 14<br/>} | 摘要算法类型。 |
| [OH_Huks_KeyPadding](_huks_type_api.md#oh_huks_keypadding) {<br/>OH_HUKS_PADDING_NONE = 0, <br/>OH_HUKS_PADDING_OAEP = 1, <br/>OH_HUKS_PADDING_PSS = 2, <br/>OH_HUKS_PADDING_PKCS1_V1_5 = 3,<br/>OH_HUKS_PADDING_PKCS5 = 4, <br/>OH_HUKS_PADDING_PKCS7 = 5<br/>} | 补齐算法类型。 |
| [OH_Huks_CipherMode](_huks_type_api.md#oh_huks_ciphermode) {<br/>OH_HUKS_MODE_ECB = 1, <br/>OH_HUKS_MODE_CBC = 2, <br/>OH_HUKS_MODE_CTR = 3, <br/>OH_HUKS_MODE_OFB = 4,<br/>OH_HUKS_MODE_CCM = 31, <br/>OH_HUKS_MODE_GCM = 32<br/>} | 加解密算法工作模式。 |
| [OH_Huks_KeySize](_huks_type_api.md#oh_huks_keysize) {<br/>OH_HUKS_RSA_KEY_SIZE_512 = 512, <br/>OH_HUKS_RSA_KEY_SIZE_768 = 768, <br/>OH_HUKS_RSA_KEY_SIZE_1024 = 1024, <br/>OH_HUKS_RSA_KEY_SIZE_2048 = 2048,<br/>OH_HUKS_RSA_KEY_SIZE_3072 = 3072, <br/>OH_HUKS_RSA_KEY_SIZE_4096 = 4096, <br/>OH_HUKS_ECC_KEY_SIZE_224 = 224, <br/>OH_HUKS_ECC_KEY_SIZE_256 = 256,<br/>OH_HUKS_ECC_KEY_SIZE_384 = 384, <br/>OH_HUKS_ECC_KEY_SIZE_521 = 521, <br/>OH_HUKS_AES_KEY_SIZE_128 = 128, <br/>OH_HUKS_AES_KEY_SIZE_192 = 192,<br/>OH_HUKS_AES_KEY_SIZE_256 = 256, <br/>OH_HUKS_AES_KEY_SIZE_512 = 512, <br/>OH_HUKS_CURVE25519_KEY_SIZE_256 = 256, <br/>OH_HUKS_DH_KEY_SIZE_2048 = 2048,<br/>OH_HUKS_DH_KEY_SIZE_3072 = 3072, <br/>OH_HUKS_DH_KEY_SIZE_4096 = 4096, <br/>OH_HUKS_SM2_KEY_SIZE_256 = 256, <br/>OH_HUKS_SM4_KEY_SIZE_128 = 128<br/>} | 算法密钥长度。 |
| [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg) {<br/>OH_HUKS_ALG_RSA = 1, <br/>OH_HUKS_ALG_ECC = 2, <br/>OH_HUKS_ALG_DSA = 3, <br/>OH_HUKS_ALG_AES = 20,<br/>OH_HUKS_ALG_HMAC = 50,<br/>OH_HUKS_ALG_HKDF = 51, <br/>OH_HUKS_ALG_PBKDF2 = 52, <br/>OH_HUKS_ALG_ECDH = 100,<br/>OH_HUKS_ALG_X25519 = 101, <br/>OH_HUKS_ALG_ED25519 = 102, <br/>OH_HUKS_ALG_DH = 103, <br/>OH_HUKS_ALG_SM2 = 150,<br/>OH_HUKS_ALG_SM3 = 151, <br/>OH_HUKS_ALG_SM4 = 152<br/>} | 密钥使用的算法。 |
| [OH_Huks_AlgSuite](_huks_type_api.md#oh_huks_algsuite) { <br/>OH_HUKS_UNWRAP_SUITE_X25519_AES_256_GCM_NOPADDING = 1, <br/>OH_HUKS_UNWRAP_SUITE_ECDH_AES_256_GCM_NOPADDING = 2 <br/>} | 密文导入所需的算法套件类型 |
| [OH_Huks_KeyGenerateType](_huks_type_api.md#oh_huks_keygeneratetype) { <br/>OH_HUKS_KEY_GENERATE_TYPE_DEFAULT = 0, <br/>OH_HUKS_KEY_GENERATE_TYPE_DERIVE = 1, <br/>OH_HUKS_KEY_GENERATE_TYPE_AGREE = 2 <br/>} | 生成的密钥类型。 |
| [OH_Huks_KeyFlag](_huks_type_api.md#oh_huks_keyflag) { <br/>OH_HUKS_KEY_FLAG_IMPORT_KEY = 1, <br/>OH_HUKS_KEY_FLAG_GENERATE_KEY = 2, <br/>OH_HUKS_KEY_FLAG_AGREE_KEY = 3, <br/>OH_HUKS_KEY_FLAG_DERIVE_KEY = 4 <br/>} | 密钥的产生方式。 |
| [OH_Huks_KeyStorageType](_huks_type_api.md#oh_huks_keystoragetype) { <br/>OH_HUKS_STORAGE_TEMP = 0, <br/>OH_HUKS_STORAGE_PERSISTENT = 1 <br/>} | 密钥的存储方式。 |
| [OH_Huks_ImportKeyType](_huks_type_api.md#oh_huks_importkeytype) { <br/>OH_HUKS_KEY_TYPE_PUBLIC_KEY = 0, <br/>OH_HUKS_KEY_TYPE_PRIVATE_KEY = 1, <br/>OH_HUKS_KEY_TYPE_KEY_PAIR = 2 <br/>}| 导入密钥的类型,默认为导入公钥,导入对称密钥时不需要该字段。 |
| [OH_Huks_ErrCode](_huks_type_api.md#oh_huks_errcode) {<br/>OH_HUKS_SUCCESS = 0, <br/>OH_HUKS_ERR_CODE_PERMISSION_FAIL = 201, <br/>OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401, <br/>OH_HUKS_ERR_CODE_NOT_SUPPORTED_API = 801,<br/>OH_HUKS_ERR_CODE_FEATURE_NOT_SUPPORTED = 12000001, <br/>OH_HUKS_ERR_CODE_MISSING_CRYPTO_ALG_ARGUMENT = 12000002, <br/>OH_HUKS_ERR_CODE_INVALID_CRYPTO_ALG_ARGUMENT = 12000003, <br/>OH_HUKS_ERR_CODE_FILE_OPERATION_FAIL = 12000004,<br/>OH_HUKS_ERR_CODE_COMMUNICATION_FAIL = 12000005, <br/>OH_HUKS_ERR_CODE_CRYPTO_FAIL = 12000006, <br/>OH_HUKS_ERR_CODE_KEY_AUTH_PERMANENTLY_INVALIDATED = 12000007, <br/>OH_HUKS_ERR_CODE_KEY_AUTH_VERIFY_FAILED = 12000008,<br/>OH_HUKS_ERR_CODE_KEY_AUTH_TIME_OUT = 12000009, <br/>OH_HUKS_ERR_CODE_SESSION_LIMIT = 12000010, <br/>OH_HUKS_ERR_CODE_ITEM_NOT_EXIST = 12000011, <br/>OH_HUKS_ERR_CODE_INTERNAL_ERROR = 12000012,<br/>OH_HUKS_ERR_CODE_CREDENTIAL_NOT_EXIST = 12000013<br/>} | 错误码。 |
| [OH_Huks_TagType](_huks_type_api.md#oh_huks_tagtype) {<br/>OH_HUKS_TAG_TYPE_INVALID = 0 &lt;&lt; 28, <br/>OH_HUKS_TAG_TYPE_INT = 1 &lt;&lt; 28, <br/>OH_HUKS_TAG_TYPE_UINT = 2 &lt;&lt; 28, <br/>OH_HUKS_TAG_TYPE_ULONG = 3 &lt;&lt; 28,<br/>OH_HUKS_TAG_TYPE_BOOL = 4 &lt;&lt; 28, <br/>OH_HUKS_TAG_TYPE_BYTES = 5 &lt;&lt; 28<br/>} | 参数集中参数类型的掩码值。 |
| [OH_Huks_UserAuthType](_huks_type_api.md#oh_huks_userauthtype) { <br/>OH_HUKS_USER_AUTH_TYPE_FINGERPRINT = 1 &lt;&lt; 0, <br/>OH_HUKS_USER_AUTH_TYPE_FACE = 1 &lt;&lt; 1, <br/>OH_HUKS_USER_AUTH_TYPE_PIN = 1 &lt;&lt; 2 <br/>} | 密钥访问控制中的用户认证类型 |
| [OH_Huks_AuthAccessType](_huks_type_api.md#oh_huks_authaccesstype) { <br/>OH_HUKS_AUTH_ACCESS_INVALID_CLEAR_PASSWORD = 1 &lt;&lt; 0, <br/>OH_HUKS_AUTH_ACCESS_INVALID_NEW_BIO_ENROLL = 1 &lt;&lt; 1 <br/>} | 安全访问控制类型,表示密钥失效的原则 |
| [OH_Huks_ChallengeType](_huks_type_api.md#oh_huks_challengetype) { <br/>OH_HUKS_CHALLENGE_TYPE_NORMAL = 0, <br/>OH_HUKS_CHALLENGE_TYPE_CUSTOM = 1, <br/>OH_HUKS_CHALLENGE_TYPE_NONE = 2 <br/>} | 密钥使用时生成challenge的类型 |
| [OH_Huks_ChallengePosition](_huks_type_api.md#oh_huks_challengeposition) { <br/>OH_HUKS_CHALLENGE_POS_0 = 0, <br/>OH_HUKS_CHALLENGE_POS_1, <br/>OH_HUKS_CHALLENGE_POS_2, <br/>OH_HUKS_CHALLENGE_POS_3 <br/>} | challenge类型为用户自定义类型时,生成的challenge有效长度仅为8字节连续的数据,且仅支持4种位置。 |
| [OH_Huks_SecureSignType](_huks_type_api.md#oh_huks_securesigntype) { OH_HUKS_SECURE_SIGN_WITH_AUTHINFO = 1 } | 生成或导入密钥时,指定该密钥的安全签名类型。 |
| [OH_Huks_Tag](_huks_type_api.md#oh_huks_tag) {<br/>OH_HUKS_TAG_INVALID = OH_HUKS_TAG_TYPE_INVALID \| 0, OH_HUKS_TAG_ALGORITHM = OH_HUKS_TAG_TYPE_UINT \| 1, OH_HUKS_TAG_PURPOSE = OH_HUKS_TAG_TYPE_UINT \| 2, OH_HUKS_TAG_KEY_SIZE = OH_HUKS_TAG_TYPE_UINT \| 3,<br/>OH_HUKS_TAG_DIGEST = OH_HUKS_TAG_TYPE_UINT \| 4, OH_HUKS_TAG_PADDING = OH_HUKS_TAG_TYPE_UINT \| 5, OH_HUKS_TAG_BLOCK_MODE = OH_HUKS_TAG_TYPE_UINT \| 6, OH_HUKS_TAG_KEY_TYPE = OH_HUKS_TAG_TYPE_UINT \| 7,<br/>OH_HUKS_TAG_ASSOCIATED_DATA = OH_HUKS_TAG_TYPE_BYTES \| 8, OH_HUKS_TAG_NONCE = OH_HUKS_TAG_TYPE_BYTES \| 9, OH_HUKS_TAG_IV = OH_HUKS_TAG_TYPE_BYTES \| 10, OH_HUKS_TAG_INFO = OH_HUKS_TAG_TYPE_BYTES \| 11,<br/>OH_HUKS_TAG_SALT = OH_HUKS_TAG_TYPE_BYTES \| 12, OH_HUKS_TAG_PWD = OH_HUKS_TAG_TYPE_BYTES \| 13, OH_HUKS_TAG_ITERATION = OH_HUKS_TAG_TYPE_UINT \| 14, OH_HUKS_TAG_KEY_GENERATE_TYPE = OH_HUKS_TAG_TYPE_UINT \| 15,<br/>OH_HUKS_TAG_DERIVE_MAIN_KEY = OH_HUKS_TAG_TYPE_BYTES \| 16, OH_HUKS_TAG_DERIVE_FACTOR = OH_HUKS_TAG_TYPE_BYTES \| 17, OH_HUKS_TAG_DERIVE_ALG = OH_HUKS_TAG_TYPE_UINT \| 18, OH_HUKS_TAG_AGREE_ALG = OH_HUKS_TAG_TYPE_UINT \| 19,<br/>OH_HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIAS = OH_HUKS_TAG_TYPE_BOOL \| 20, OH_HUKS_TAG_AGREE_PRIVATE_KEY_ALIAS = OH_HUKS_TAG_TYPE_BYTES \| 21, OH_HUKS_TAG_AGREE_PUBLIC_KEY = OH_HUKS_TAG_TYPE_BYTES \| 22, OH_HUKS_TAG_KEY_ALIAS = OH_HUKS_TAG_TYPE_BYTES \| 23,<br/>OH_HUKS_TAG_DERIVE_KEY_SIZE = OH_HUKS_TAG_TYPE_UINT \| 24, OH_HUKS_TAG_IMPORT_KEY_TYPE = OH_HUKS_TAG_TYPE_UINT \| 25, OH_HUKS_TAG_UNWRAP_ALGORITHM_SUITE = OH_HUKS_TAG_TYPE_UINT \| 26, OH_HUKS_TAG_ALL_USERS = OH_HUKS_TAG_TYPE_BOOL \| 301,<br/>OH_HUKS_TAG_USER_ID = OH_HUKS_TAG_TYPE_UINT \| 302, OH_HUKS_TAG_NO_AUTH_REQUIRED = OH_HUKS_TAG_TYPE_BOOL \| 303, OH_HUKS_TAG_USER_AUTH_TYPE = OH_HUKS_TAG_TYPE_UINT \| 304, OH_HUKS_TAG_AUTH_TIMEOUT = OH_HUKS_TAG_TYPE_UINT \| 305,<br/>OH_HUKS_TAG_AUTH_TOKEN = OH_HUKS_TAG_TYPE_BYTES \| 306, OH_HUKS_TAG_KEY_AUTH_ACCESS_TYPE = OH_HUKS_TAG_TYPE_UINT \| 307, OH_HUKS_TAG_KEY_SECURE_SIGN_TYPE = OH_HUKS_TAG_TYPE_UINT \| 308, OH_HUKS_TAG_CHALLENGE_TYPE = OH_HUKS_TAG_TYPE_UINT \| 309,<br/>OH_HUKS_TAG_CHALLENGE_POS = OH_HUKS_TAG_TYPE_UINT \| 310, OH_HUKS_TAG_ATTESTATION_CHALLENGE = OH_HUKS_TAG_TYPE_BYTES \| 501, OH_HUKS_TAG_ATTESTATION_APPLICATION_ID = OH_HUKS_TAG_TYPE_BYTES \| 502, OH_HUKS_TAG_ATTESTATION_ID_BRAND = OH_HUKS_TAG_TYPE_BYTES \| 503,<br/>OH_HUKS_TAG_ATTESTATION_ID_DEVICE = OH_HUKS_TAG_TYPE_BYTES \| 504, OH_HUKS_TAG_ATTESTATION_ID_PRODUCT = OH_HUKS_TAG_TYPE_BYTES \| 505, OH_HUKS_TAG_ATTESTATION_ID_SERIAL = OH_HUKS_TAG_TYPE_BYTES \| 506, OH_HUKS_TAG_ATTESTATION_ID_IMEI = OH_HUKS_TAG_TYPE_BYTES \| 507,<br/>OH_HUKS_TAG_ATTESTATION_ID_MEID = OH_HUKS_TAG_TYPE_BYTES \| 508, OH_HUKS_TAG_ATTESTATION_ID_MANUFACTURER = OH_HUKS_TAG_TYPE_BYTES \| 509, OH_HUKS_TAG_ATTESTATION_ID_MODEL = OH_HUKS_TAG_TYPE_BYTES \| 510, OH_HUKS_TAG_ATTESTATION_ID_ALIAS = OH_HUKS_TAG_TYPE_BYTES \| 511,<br/>OH_HUKS_TAG_ATTESTATION_ID_SOCID = OH_HUKS_TAG_TYPE_BYTES \| 512, OH_HUKS_TAG_ATTESTATION_ID_UDID = OH_HUKS_TAG_TYPE_BYTES \| 513, OH_HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO = OH_HUKS_TAG_TYPE_BYTES \| 514, OH_HUKS_TAG_ATTESTATION_ID_VERSION_INFO = OH_HUKS_TAG_TYPE_BYTES \| 515,<br/>OH_HUKS_TAG_IS_KEY_ALIAS = OH_HUKS_TAG_TYPE_BOOL \| 1001, OH_HUKS_TAG_KEY_STORAGE_FLAG = OH_HUKS_TAG_TYPE_UINT \| 1002, OH_HUKS_TAG_IS_ALLOWED_WRAP = OH_HUKS_TAG_TYPE_BOOL \| 1003, OH_HUKS_TAG_KEY_WRAP_TYPE = OH_HUKS_TAG_TYPE_UINT \| 1004,<br/>OH_HUKS_TAG_KEY_AUTH_ID = OH_HUKS_TAG_TYPE_BYTES \| 1005, OH_HUKS_TAG_KEY_ROLE = OH_HUKS_TAG_TYPE_UINT \| 1006, OH_HUKS_TAG_KEY_FLAG = OH_HUKS_TAG_TYPE_UINT \| 1007, OH_HUKS_TAG_IS_ASYNCHRONIZED = OH_HUKS_TAG_TYPE_UINT \| 1008,<br/>OH_HUKS_TAG_SECURE_KEY_ALIAS = OH_HUKS_TAG_TYPE_BOOL \| 1009, OH_HUKS_TAG_SECURE_KEY_UUID = OH_HUKS_TAG_TYPE_BYTES \| 1010, OH_HUKS_TAG_KEY_DOMAIN = OH_HUKS_TAG_TYPE_UINT \| 1011, OH_HUKS_TAG_SYMMETRIC_KEY_DATA = OH_HUKS_TAG_TYPE_BYTES \| 20001,<br/>OH_HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATA = OH_HUKS_TAG_TYPE_BYTES \| 20002, OH_HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATA = OH_HUKS_TAG_TYPE_BYTES \| 20003<br/>} | 参数集所用的TAG值枚举 |
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册