diff --git a/zh-cn/application-dev/reference/native-apis/Readme-CN.md b/zh-cn/application-dev/reference/native-apis/Readme-CN.md index 54bf703ba8b775366036a719e5e4d83207b2ce71..523617f1f2b955e98d8274d870b061cc87c6b4f5 100644 --- a/zh-cn/application-dev/reference/native-apis/Readme-CN.md +++ b/zh-cn/application-dev/reference/native-apis/Readme-CN.md @@ -19,6 +19,9 @@ - [VideoDecoder](_video_decoder.md) - [VideoEncoder](_video_encoder.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_brush.h](drawing__brush_8h.md) @@ -67,6 +70,9 @@ - [native_averrors.h](native__averrors_8h.md) - [native_avformat.h](native__avformat_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_NativeBuffer_Config](_o_h___native_buffer___config.md) @@ -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::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::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) \ No newline at end of file + - [OHOS::AVSession::SessionToken](_o_h_o_s_1_1_a_v_session_1_1_session_token.md) + - [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) diff --git a/zh-cn/application-dev/reference/native-apis/_huks_key_api.md b/zh-cn/application-dev/reference/native-apis/_huks_key_api.md new file mode 100644 index 0000000000000000000000000000000000000000..f1a50eea46e11c54384e1ac1ffbf187e7f176135 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_huks_key_api.md @@ -0,0 +1,359 @@ +# 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)
获取当前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)
生成密钥。 | +| [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)
导入明文密钥。 | +| [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)
导入密文密钥。 | +| [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)
导出公钥。 | +| [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)
删除密钥。 | +| [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)
获取密钥的属性集。 | +| [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)
判断密钥是否存在。 | +| [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)
获取密钥证书链。 | +| [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)
初始化密钥会话接口,并获取一个句柄(必选)和挑战值(可选)。 | +| [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)
分段添加密钥操作的数据并进行相应的密钥操作,输出处理数据。 | +| [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)
结束密钥会话并进行相应的密钥操作,输出处理数据。 | +| [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)
取消密钥会话。 | + + +## 函数说明 + + +### 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) diff --git a/zh-cn/application-dev/reference/native-apis/_huks_param_set_api.md b/zh-cn/application-dev/reference/native-apis/_huks_param_set_api.md new file mode 100644 index 0000000000000000000000000000000000000000..27fa8738f94d3ae85fe1c86061b71158a94289f4 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_huks_param_set_api.md @@ -0,0 +1,245 @@ +# 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
初始化参数集。 | +| [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
添加参数到参数集里面。 | +| [OH_Huks_BuildParamSet](#oh_huks_buildparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t
构造正式的参数集。 | +| [OH_Huks_FreeParamSet](#oh_huks_freeparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | void
销毁参数集。 | +| [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
复制参数集(深拷贝)。 | +| [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
从参数集中获取参数。 | +| [OH_Huks_FreshParamSet](#oh_huks_freshparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, bool isCopy) | int32_t
刷新(复制)参数集内Blob类型的数据到参数集内。 | +| [OH_Huks_isParamSetTagValid](#oh_huks_isparamsettagvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet) | int32_t
检查参数集中的参数是否有效、是否有重复。 | +| [OH_Huks_isParamSetValid](#oh_huks_isparamsetvalid) (const struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*paramSet, uint32_t size) | int32_t
检查参数集大小是否有效。 | +| [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
比较两个参数是否相同 | + + +## 函数说明 + + +### 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)时表示有效,其他时为无效或者错误。 diff --git a/zh-cn/application-dev/reference/native-apis/_huks_type_api.md b/zh-cn/application-dev/reference/native-apis/_huks_type_api.md new file mode 100644 index 0000000000000000000000000000000000000000..87e07c745c04b58cdeb89c3a0a55bd6b884b7e77 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_huks_type_api.md @@ -0,0 +1,523 @@ +# HuksTypeApi + + +## 概述 + +描述HUKS类型定义的头文件,声明了HUKS API需要的各种宏、枚举、数据结构、错误码等。 + +\@syscap SystemCapability.Security.Huks + + **起始版本:** +9 + + +## 汇总 + + +### 文件 + +| 名称 | 描述 | +| -------- | -------- | +| [native_huks_type.h](native__huks__type_8h.md) | 提供huks中的枚举变量、结构体定义与宏定义。 | + + +### 结构体 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_Huks_Result](_o_h___huks___result.md) | struct
表示状态返回数据,包括返回码和消息。 | +| [OH_Huks_Blob](_o_h___huks___blob.md) | struct
定义存放数据的结构体类型。 | +| [OH_Huks_Param](_o_h___huks___param.md) | struct
定义参数集中的参数结构体类型。 | +| [OH_Huks_ParamSet](_o_h___huks___param_set.md) | struct
定义参数集的结构体类型。 | +| [OH_Huks_CertChain](_o_h___huks___cert_chain.md) | struct
定义证书链的结构体类型。 | +| [OH_Huks_KeyInfo](_o_h___huks___key_info.md) | struct
定义密钥信息的结构体类型。 | +| [OH_Huks_PubKeyInfo](_o_h___huks___pub_key_info.md) | struct
定义公钥信息的结构体类型。 | +| [OH_Huks_KeyMaterialRsa](_o_h___huks___key_material_rsa.md) | struct
定义Rsa密钥的结构体类型。 | +| [OH_Huks_KeyMaterialEcc](_o_h___huks___key_material_ecc.md) | struct
定义Ecc密钥的结构体类型。 | +| [OH_Huks_KeyMaterialDsa](_o_h___huks___key_material_dsa.md) | struct
定义Dsa密钥的结构体类型。 | +| [OH_Huks_KeyMaterialDh](_o_h___huks___key_material_dh.md) | struct
定义Dh密钥的结构体类型。 | +| [OH_Huks_KeyMaterial25519](_o_h___huks___key_material25519.md) | struct
定义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](#oh_huks_keypurpose) {
OH_HUKS_KEY_PURPOSE_ENCRYPT = 1,
OH_HUKS_KEY_PURPOSE_DECRYPT = 2,
OH_HUKS_KEY_PURPOSE_SIGN = 4,
OH_HUKS_KEY_PURPOSE_VERIFY = 8,
OH_HUKS_KEY_PURPOSE_DERIVE = 16,
OH_HUKS_KEY_PURPOSE_WRAP = 32,
OH_HUKS_KEY_PURPOSE_UNWRAP = 64,
OH_HUKS_KEY_PURPOSE_MAC = 128,
OH_HUKS_KEY_PURPOSE_AGREE = 256
} | 密钥用途类型。 | +| [OH_Huks_KeyDigest](#oh_huks_keydigest) {
OH_HUKS_DIGEST_NONE = 0,
OH_HUKS_DIGEST_MD5 = 1,
OH_HUKS_DIGEST_SM3 = 2,
OH_HUKS_DIGEST_SHA1 = 10,
OH_HUKS_DIGEST_SHA224 = 11,
OH_HUKS_DIGEST_SHA256 = 12,
OH_HUKS_DIGEST_SHA384 = 13,
OH_HUKS_DIGEST_SHA512 = 14
} | 摘要算法类型。 | +| [OH_Huks_KeyPadding](#oh_huks_keypadding) {
OH_HUKS_PADDING_NONE = 0,
OH_HUKS_PADDING_OAEP = 1,
OH_HUKS_PADDING_PSS = 2,
OH_HUKS_PADDING_PKCS1_V1_5 = 3,
OH_HUKS_PADDING_PKCS5 = 4,
OH_HUKS_PADDING_PKCS7 = 5
} | 补齐算法类型。 | +| [OH_Huks_CipherMode](#oh_huks_ciphermode) {
OH_HUKS_MODE_ECB = 1,
OH_HUKS_MODE_CBC = 2,
OH_HUKS_MODE_CTR = 3,
OH_HUKS_MODE_OFB = 4,
OH_HUKS_MODE_CCM = 31,
OH_HUKS_MODE_GCM = 32
} | 加解密算法工作模式。 | +| [OH_Huks_KeySize](#oh_huks_keysize) {
OH_HUKS_RSA_KEY_SIZE_512 = 512,
OH_HUKS_RSA_KEY_SIZE_768 = 768,
OH_HUKS_RSA_KEY_SIZE_1024 = 1024,
OH_HUKS_RSA_KEY_SIZE_2048 = 2048,
OH_HUKS_RSA_KEY_SIZE_3072 = 3072,
OH_HUKS_RSA_KEY_SIZE_4096 = 4096,
OH_HUKS_ECC_KEY_SIZE_224 = 224,
OH_HUKS_ECC_KEY_SIZE_256 = 256,
OH_HUKS_ECC_KEY_SIZE_384 = 384,
OH_HUKS_ECC_KEY_SIZE_521 = 521,
OH_HUKS_AES_KEY_SIZE_128 = 128,
OH_HUKS_AES_KEY_SIZE_192 = 192,
OH_HUKS_AES_KEY_SIZE_256 = 256,
OH_HUKS_AES_KEY_SIZE_512 = 512,
OH_HUKS_CURVE25519_KEY_SIZE_256 = 256,
OH_HUKS_DH_KEY_SIZE_2048 = 2048,
OH_HUKS_DH_KEY_SIZE_3072 = 3072,
OH_HUKS_DH_KEY_SIZE_4096 = 4096,
OH_HUKS_SM2_KEY_SIZE_256 = 256,
OH_HUKS_SM4_KEY_SIZE_128 = 128
} | 算法密钥长度。 | +| [OH_Huks_KeyAlg](#oh_huks_keyalg) {
OH_HUKS_ALG_RSA = 1,
OH_HUKS_ALG_ECC = 2,
OH_HUKS_ALG_DSA = 3,
OH_HUKS_ALG_AES = 20,
OH_HUKS_ALG_HMAC = 50,
OH_HUKS_ALG_HKDF = 51,
OH_HUKS_ALG_PBKDF2 = 52,
OH_HUKS_ALG_ECDH = 100,
OH_HUKS_ALG_X25519 = 101,
OH_HUKS_ALG_ED25519 = 102,
OH_HUKS_ALG_DH = 103,
OH_HUKS_ALG_SM2 = 150,
OH_HUKS_ALG_SM3 = 151,
OH_HUKS_ALG_SM4 = 152
} | 密钥使用的算法。 | +| [OH_Huks_AlgSuite](#oh_huks_algsuite) {
OH_HUKS_UNWRAP_SUITE_X25519_AES_256_GCM_NOPADDING = 1,
OH_HUKS_UNWRAP_SUITE_ECDH_AES_256_GCM_NOPADDING = 2
} | 密文导入所需的算法套件类型 | +| [OH_Huks_KeyGenerateType](#oh_huks_keygeneratetype) {
OH_HUKS_KEY_GENERATE_TYPE_DEFAULT = 0,
OH_HUKS_KEY_GENERATE_TYPE_DERIVE = 1,
OH_HUKS_KEY_GENERATE_TYPE_AGREE = 2
} | 生成的密钥类型。 | +| [OH_Huks_KeyFlag](#oh_huks_keyflag) {
OH_HUKS_KEY_FLAG_IMPORT_KEY = 1,
OH_HUKS_KEY_FLAG_GENERATE_KEY = 2,
OH_HUKS_KEY_FLAG_AGREE_KEY = 3,
OH_HUKS_KEY_FLAG_DERIVE_KEY = 4
} | 密钥的产生方式。 | +| [OH_Huks_KeyStorageType](#oh_huks_keystoragetype) {
OH_HUKS_STORAGE_TEMP = 0,
OH_HUKS_STORAGE_PERSISTENT = 1
} | 密钥的存储方式。 | +| [OH_Huks_ImportKeyType](#oh_huks_importkeytype) {
OH_HUKS_KEY_TYPE_PUBLIC_KEY = 0,
OH_HUKS_KEY_TYPE_PRIVATE_KEY = 1,
OH_HUKS_KEY_TYPE_KEY_PAIR = 2
} | 导入密钥的类型,默认为导入公钥,导入对称密钥时不需要该字段。 | +| [OH_Huks_ErrCode](#oh_huks_errcode) {
OH_HUKS_SUCCESS = 0,
OH_HUKS_ERR_CODE_PERMISSION_FAIL = 201,
OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401,
OH_HUKS_ERR_CODE_NOT_SUPPORTED_API = 801,
OH_HUKS_ERR_CODE_FEATURE_NOT_SUPPORTED = 12000001,
OH_HUKS_ERR_CODE_MISSING_CRYPTO_ALG_ARGUMENT = 12000002,
OH_HUKS_ERR_CODE_INVALID_CRYPTO_ALG_ARGUMENT = 12000003,
OH_HUKS_ERR_CODE_FILE_OPERATION_FAIL = 12000004,
OH_HUKS_ERR_CODE_COMMUNICATION_FAIL = 12000005,
OH_HUKS_ERR_CODE_CRYPTO_FAIL = 12000006,
OH_HUKS_ERR_CODE_KEY_AUTH_PERMANENTLY_INVALIDATED = 12000007,
OH_HUKS_ERR_CODE_KEY_AUTH_VERIFY_FAILED = 12000008,
OH_HUKS_ERR_CODE_KEY_AUTH_TIME_OUT = 12000009,
OH_HUKS_ERR_CODE_SESSION_LIMIT = 12000010,
OH_HUKS_ERR_CODE_ITEM_NOT_EXIST = 12000011,
OH_HUKS_ERR_CODE_INTERNAL_ERROR = 12000012,
OH_HUKS_ERR_CODE_CREDENTIAL_NOT_EXIST = 12000013
} | 错误码。 | +| [OH_Huks_TagType](#oh_huks_tagtype) {
OH_HUKS_TAG_TYPE_INVALID = 0 << 28,
OH_HUKS_TAG_TYPE_INT = 1 << 28,
OH_HUKS_TAG_TYPE_UINT = 2 << 28,
OH_HUKS_TAG_TYPE_ULONG = 3 << 28,
OH_HUKS_TAG_TYPE_BOOL = 4 << 28,
OH_HUKS_TAG_TYPE_BYTES = 5 << 28
} | 参数集中参数类型的掩码值。 | +| [OH_Huks_UserAuthType](#oh_huks_userauthtype) {
OH_HUKS_USER_AUTH_TYPE_FINGERPRINT = 1 << 0,
OH_HUKS_USER_AUTH_TYPE_FACE = 1 << 1,
OH_HUKS_USER_AUTH_TYPE_PIN = 1 << 2
} | 密钥访问控制中的用户认证类型 | +| [OH_Huks_AuthAccessType](#oh_huks_authaccesstype) {
OH_HUKS_AUTH_ACCESS_INVALID_CLEAR_PASSWORD = 1 << 0,
OH_HUKS_AUTH_ACCESS_INVALID_NEW_BIO_ENROLL = 1 << 1
} | 安全访问控制类型,表示密钥失效的原则 | +| [OH_Huks_ChallengeType](#oh_huks_challengetype) {
OH_HUKS_CHALLENGE_TYPE_NORMAL = 0,
OH_HUKS_CHALLENGE_TYPE_CUSTOM = 1,
OH_HUKS_CHALLENGE_TYPE_NONE = 2
} | 密钥使用时生成challenge的类型 | +| [OH_Huks_ChallengePosition](#oh_huks_challengeposition) {
OH_HUKS_CHALLENGE_POS_0 = 0,
OH_HUKS_CHALLENGE_POS_1,
OH_HUKS_CHALLENGE_POS_2,
OH_HUKS_CHALLENGE_POS_3
} | challenge类型为用户自定义类型时,生成的challenge有效长度仅为8字节连续的数据,且仅支持4种位置。 | +| [OH_Huks_SecureSignType](#oh_huks_securesigntype) { OH_HUKS_SECURE_SIGN_WITH_AUTHINFO = 1 } | 生成或导入密钥时,指定该密钥的安全签名类型。 | +| [OH_Huks_Tag](#oh_huks_tag) {
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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
} | 参数集所用的TAG值枚举 | + + +## 枚举类型说明 + + +### OH_Huks_AlgSuite + + +``` +enum OH_Huks_AlgSuite +``` +**描述:** +密文导入所需的算法套件类型 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_UNWRAP_SUITE_X25519_AES_256_GCM_NOPADDING | 密文导入密钥材料格式(Length-Value格式)采用X25519密钥协商同时采用AES-256-GCM加解密: \| x25519_plain_pubkey_length (4 Byte) \| x25519_plain_pubkey \| agreekey_aad_length (4 Byte) \| agreekey_aad \| agreekey_nonce_length (4 Byte) \| agreekey_nonce \| agreekey_aead_tag_len(4 Byte) \| agreekey_aead_tag \| kek_enc_data_length (4 Byte) \| kek_enc_data \| kek_aad_length (4 Byte) \| kek_aad \| kek_nonce_length (4 Byte) \| kek_nonce \| kek_aead_tag_len (4 Byte) \| kek_aead_tag \| key_material_size_len (4 Byte) \| key_material_size \| key_mat_enc_length (4 Byte) \| key_mat_enc_data | +| OH_HUKS_UNWRAP_SUITE_ECDH_AES_256_GCM_NOPADDING | 密文导入密钥材料格式(Length-Value格式)采用ECDH-p256密钥协商同时采用AES-256-GCM加解密: \| ECC_plain_pubkey_length (4 Byte) \| ECC_plain_pubkey \| agreekey_aad_length (4 Byte) \| agreekey_aad \| agreekey_nonce_length (4 Byte) \| agreekey_nonce \| agreekey_aead_tag_len(4 Byte) \| agreekey_aead_tag \| kek_enc_data_length (4 Byte) \| kek_enc_data \| kek_aad_length (4 Byte) \| kek_aad \| kek_nonce_length (4 Byte) \| kek_nonce \| kek_aead_tag_len (4 Byte) \| kek_aead_tag \| key_material_size_len (4 Byte) \| key_material_size \| key_mat_enc_length (4 Byte) \| key_mat_enc_data | + + +### OH_Huks_AuthAccessType + + +``` +enum OH_Huks_AuthAccessType +``` +**描述:** +安全访问控制类型,表示密钥失效的原则 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_AUTH_ACCESS_INVALID_CLEAR_PASSWORD | 安全访问控制类型为清除密码后密钥无效。 | +| OH_HUKS_AUTH_ACCESS_INVALID_NEW_BIO_ENROLL | 安全访问控制类型为新录入生物特征后密钥无效。 | + + +### OH_Huks_ChallengePosition + + +``` +enum OH_Huks_ChallengePosition +``` +**描述:** +challenge类型为用户自定义类型时,生成的challenge有效长度仅为8字节连续的数据,且仅支持4种位置。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_CHALLENGE_POS_0 | 0~7字节为当前密钥的有效challenge。 | +| OH_HUKS_CHALLENGE_POS_1 | 8~15字节为当前密钥的有效challenge。 | +| OH_HUKS_CHALLENGE_POS_2 | 16~23字节为当前密钥的有效challenge。 | +| OH_HUKS_CHALLENGE_POS_3 | 24~31字节为当前密钥的有效challenge。 | + + +### OH_Huks_ChallengeType + + +``` +enum OH_Huks_ChallengeType +``` +**描述:** +密钥使用时生成challenge的类型 + +**参见:** + +[OH_Huks_ChallengePosition](#oh_huks_challengeposition) + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_CHALLENGE_TYPE_NORMAL | challenge为普通类型,默认32字节。 | +| OH_HUKS_CHALLENGE_TYPE_CUSTOM | challenge为用户自定义类型。支持使用多个密钥仅一次认证,challenge长度8字节有效。 | +| OH_HUKS_CHALLENGE_TYPE_NONE | 免challenge类型。 | + + +### OH_Huks_CipherMode + + +``` +enum OH_Huks_CipherMode +``` +**描述:** +加解密算法工作模式。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_MODE_ECB | 使用ECB加密模式。 | +| OH_HUKS_MODE_CBC | 使用CBC加密模式。 | +| OH_HUKS_MODE_CTR | 使用CTR加密模式。 | +| OH_HUKS_MODE_OFB | 使用OFB加密模式。 | +| OH_HUKS_MODE_CCM | 使用CCM加密模式。 | +| OH_HUKS_MODE_GCM | 使用GCM加密模式。 | + + +### OH_Huks_ErrCode + + +``` +enum OH_Huks_ErrCode +``` +**描述:** +错误码。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_SUCCESS | 成功。 | +| OH_HUKS_ERR_CODE_PERMISSION_FAIL | 权限校验失败。 | +| OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT | 非法参数(通用)。 | +| OH_HUKS_ERR_CODE_NOT_SUPPORTED_API | 不支持该API。 | +| OH_HUKS_ERR_CODE_FEATURE_NOT_SUPPORTED | 不支持该子功能(特性)。 | +| OH_HUKS_ERR_CODE_MISSING_CRYPTO_ALG_ARGUMENT | 缺少密钥算法参数。 | +| OH_HUKS_ERR_CODE_INVALID_CRYPTO_ALG_ARGUMENT | 无效的密钥算法参数。 | +| OH_HUKS_ERR_CODE_FILE_OPERATION_FAIL | 文件错误。 | +| OH_HUKS_ERR_CODE_COMMUNICATION_FAIL | 进程通信错误。 | +| OH_HUKS_ERR_CODE_CRYPTO_FAIL | 算法库操作失败。 | +| OH_HUKS_ERR_CODE_KEY_AUTH_PERMANENTLY_INVALIDATED | 密钥访问失败 - 密钥已失效。 | +| OH_HUKS_ERR_CODE_KEY_AUTH_VERIFY_FAILED | 密钥访问失败 - 密钥认证失败。 | +| OH_HUKS_ERR_CODE_KEY_AUTH_TIME_OUT | 密钥访问失败 - 密钥访问超时。 | +| OH_HUKS_ERR_CODE_SESSION_LIMIT | 密钥操作会话数已达上限。 | +| OH_HUKS_ERR_CODE_ITEM_NOT_EXIST | 该项实体不存在。 | +| OH_HUKS_ERR_CODE_INTERNAL_ERROR | 内部错误。 | +| OH_HUKS_ERR_CODE_CREDENTIAL_NOT_EXIST | 认证凭据不存在。 | + + +### OH_Huks_ImportKeyType + + +``` +enum OH_Huks_ImportKeyType +``` +**描述:** +导入密钥的类型,默认为导入公钥,导入对称密钥时不需要该字段。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_KEY_TYPE_PUBLIC_KEY | 导入的密钥类型为公钥。 | +| OH_HUKS_KEY_TYPE_PRIVATE_KEY | 导入的密钥类型为私钥。 | +| OH_HUKS_KEY_TYPE_KEY_PAIR | 导入的密钥类型为公私钥对。 | + + +### OH_Huks_KeyAlg + + +``` +enum OH_Huks_KeyAlg +``` +**描述:** +密钥使用的算法。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_ALG_RSA | 使用RSA算法。 | +| OH_HUKS_ALG_ECC | 使用ECC算法。 | +| OH_HUKS_ALG_DSA | 使用DSA算法。 | +| OH_HUKS_ALG_AES | 使用AES算法。 | +| OH_HUKS_ALG_HMAC | 使用HMAC算法。 | +| OH_HUKS_ALG_HKDF | 使用HKDF算法。 | +| OH_HUKS_ALG_PBKDF2 | 使用PBKDF2算法。 | +| OH_HUKS_ALG_ECDH | 使用ECDH算法。 | +| OH_HUKS_ALG_X25519 | 使用X25519算法。 | +| OH_HUKS_ALG_ED25519 | 使用ED25519算法。 | +| OH_HUKS_ALG_DH | 使用DH算法。 | +| OH_HUKS_ALG_SM2 | 使用SM2算法。 | +| OH_HUKS_ALG_SM3 | 使用SM3算法。 | +| OH_HUKS_ALG_SM4 | 使用SM4算法。 | + + +### OH_Huks_KeyDigest + + +``` +enum OH_Huks_KeyDigest +``` +**描述:** +摘要算法类型。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_DIGEST_NONE | 无摘要算法。 | +| OH_HUKS_DIGEST_MD5 | MD5摘要算法。 | +| OH_HUKS_DIGEST_SM3 | SM3摘要算法。 | +| OH_HUKS_DIGEST_SHA1 | SHA1摘要算法。 | +| OH_HUKS_DIGEST_SHA224 | SHA224摘要算法。 | +| OH_HUKS_DIGEST_SHA256 | SHA256摘要算法。 | +| OH_HUKS_DIGEST_SHA384 | SHA384摘要算法。 | +| OH_HUKS_DIGEST_SHA512 | SHA512摘要算法。 | + + +### OH_Huks_KeyFlag + + +``` +enum OH_Huks_KeyFlag +``` +**描述:** +密钥的产生方式。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_KEY_FLAG_IMPORT_KEY | 通过导入公钥接口导入的密钥。 | +| OH_HUKS_KEY_FLAG_GENERATE_KEY | 通过生成密钥接口生成的密钥。 | +| OH_HUKS_KEY_FLAG_AGREE_KEY | 通过生成密钥协商接口生成的密钥。 | +| OH_HUKS_KEY_FLAG_DERIVE_KEY | 通过生成密钥派生接口生成的密钥。 | + + +### OH_Huks_KeyGenerateType + + +``` +enum OH_Huks_KeyGenerateType +``` +**描述:** +生成的密钥类型。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_KEY_GENERATE_TYPE_DEFAULT | 默认生成的密钥。 | +| OH_HUKS_KEY_GENERATE_TYPE_DERIVE | 派生生成的密钥。 | +| OH_HUKS_KEY_GENERATE_TYPE_AGREE | 协商生成的密钥。 | + + +### OH_Huks_KeyPadding + + +``` +enum OH_Huks_KeyPadding +``` +**描述:** +补齐算法类型。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_PADDING_NONE | 不使用补齐算法。 | +| OH_HUKS_PADDING_OAEP | 使用OAEP补齐算法。 | +| OH_HUKS_PADDING_PSS | 使用PSS补齐算法。 | +| OH_HUKS_PADDING_PKCS1_V1_5 | 使用PKCS1_V1_5补齐算法。 | +| OH_HUKS_PADDING_PKCS5 | 使用PKCS5补齐算法。 | +| OH_HUKS_PADDING_PKCS7 | 使用PKCS7补齐算法。 | + + +### OH_Huks_KeyPurpose + + +``` +enum OH_Huks_KeyPurpose +``` +**描述:** +密钥用途类型。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_KEY_PURPOSE_ENCRYPT | 表示密钥用于对明文进行加密操作。 | +| OH_HUKS_KEY_PURPOSE_DECRYPT | 表示密钥用于对密文进行解密操作。 | +| OH_HUKS_KEY_PURPOSE_SIGN | 表示密钥用于对数据进行签名。 | +| OH_HUKS_KEY_PURPOSE_VERIFY | 表示密钥用于验证签名后的数据。 | +| OH_HUKS_KEY_PURPOSE_DERIVE | 表示密钥用于派生密钥。 | +| OH_HUKS_KEY_PURPOSE_WRAP | 表示密钥用于加密导出。 | +| OH_HUKS_KEY_PURPOSE_UNWRAP | 表示密钥加密导入。 | +| OH_HUKS_KEY_PURPOSE_MAC | 表示密钥用于生成mac消息验证码。 | +| OH_HUKS_KEY_PURPOSE_AGREE | 表示密钥用于进行密钥协商。 | + + +### OH_Huks_KeySize + + +``` +enum OH_Huks_KeySize +``` +**描述:** +算法密钥长度。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_RSA_KEY_SIZE_512 | 使用RSA算法的密钥长度为512bit。 | +| OH_HUKS_RSA_KEY_SIZE_768 | 使用RSA算法的密钥长度为768bit。 | +| OH_HUKS_RSA_KEY_SIZE_1024 | 使用RSA算法的密钥长度为1024bit。 | +| OH_HUKS_RSA_KEY_SIZE_2048 | 使用RSA算法的密钥长度为2048bit。 | +| OH_HUKS_RSA_KEY_SIZE_3072 | 使用RSA算法的密钥长度为3072bit。 | +| OH_HUKS_RSA_KEY_SIZE_4096 | 使用RSA算法的密钥长度为4096bit。 | +| OH_HUKS_ECC_KEY_SIZE_224 | 使用ECC算法的密钥长度为224bit。 | +| OH_HUKS_ECC_KEY_SIZE_256 | 使用ECC算法的密钥长度为256bit。 | +| OH_HUKS_ECC_KEY_SIZE_384 | 使用ECC算法的密钥长度为384bit。 | +| OH_HUKS_ECC_KEY_SIZE_521 | 使用ECC算法的密钥长度为521bit。 | +| OH_HUKS_AES_KEY_SIZE_128 | 使用AES算法的密钥长度为128bit。 | +| OH_HUKS_AES_KEY_SIZE_192 | 使用AES算法的密钥长度为192bit。 | +| OH_HUKS_AES_KEY_SIZE_256 | 使用AES算法的密钥长度为256bit。 | +| OH_HUKS_AES_KEY_SIZE_512 | 使用AES算法的密钥长度为512bit。 | +| OH_HUKS_CURVE25519_KEY_SIZE_256 | 使用CURVE25519算法的密钥长度为256bit。 | +| OH_HUKS_DH_KEY_SIZE_2048 | 使用DH算法的密钥长度为2048bit。 | +| OH_HUKS_DH_KEY_SIZE_3072 | 使用DH算法的密钥长度为3072bit。 | +| OH_HUKS_DH_KEY_SIZE_4096 | 使用DH算法的密钥长度为4096bit。 | +| OH_HUKS_SM2_KEY_SIZE_256 | 使用SM2算法的密钥长度为256bit。 | +| OH_HUKS_SM4_KEY_SIZE_128 | 使用SM4算法支持的密钥长度为128位。 | + + +### OH_Huks_KeyStorageType + + +``` +enum OH_Huks_KeyStorageType +``` +**描述:** +密钥的存储方式。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_STORAGE_TEMP | 通过本地直接管理密钥。 | +| OH_HUKS_STORAGE_PERSISTENT | 通过HUKS service管理密钥。 | + + +### OH_Huks_SecureSignType + + +``` +enum OH_Huks_SecureSignType +``` +**描述:** +生成或导入密钥时,指定该密钥的安全签名类型。 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_SECURE_SIGN_WITH_AUTHINFO | 签名类型为携带认证信息。生成或导入密钥时指定该字段,则在使用密钥进行签名时,对待签名的数据添加认证信息后进行签名。 | + + +### OH_Huks_Tag + + +``` +enum OH_Huks_Tag +``` +**描述:** +参数集所用的TAG值枚举 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_TAG_INVALID | 非法的Tag。 | +| OH_HUKS_TAG_ALGORITHM | 密钥参数标签值:从1到200。 算法类型。 | +| OH_HUKS_TAG_PURPOSE | 密钥用途。 | +| OH_HUKS_TAG_KEY_SIZE | 密钥长度 。 | +| OH_HUKS_TAG_DIGEST | 摘要算法。 | +| OH_HUKS_TAG_PADDING | 补齐算法。 | +| OH_HUKS_TAG_BLOCK_MODE | 加密模式。 | +| OH_HUKS_TAG_KEY_TYPE | 密钥类型。 | +| OH_HUKS_TAG_ASSOCIATED_DATA | 附加身份验证数据。 | +| OH_HUKS_TAG_NONCE | 密钥加解密的字段。 | +| OH_HUKS_TAG_IV | 初始化的向量。 | +| OH_HUKS_TAG_INFO | 密钥派生时的信息。 | +| OH_HUKS_TAG_SALT | 派生盐值。 | +| OH_HUKS_TAG_PWD | 派生密码。 | +| OH_HUKS_TAG_ITERATION | 派生迭代次数。 | +| OH_HUKS_TAG_KEY_GENERATE_TYPE | 生成密钥的类型,类型可在枚举[OH_Huks_KeyGenerateType](#oh_huks_keygeneratetype)中选择。 | +| OH_HUKS_TAG_DERIVE_MAIN_KEY | 密钥派生时的主密钥。 | +| OH_HUKS_TAG_DERIVE_FACTOR | 派生时的派生因子。 | +| OH_HUKS_TAG_DERIVE_ALG | 派生时的算法类型。 | +| OH_HUKS_TAG_AGREE_ALG | 密钥协商时的算法类型。 | +| OH_HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIAS | 密钥协商时的公钥别名。 | +| OH_HUKS_TAG_AGREE_PRIVATE_KEY_ALIAS | 密钥协商时的私钥别名。 | +| OH_HUKS_TAG_AGREE_PUBLIC_KEY | 用于协商的公钥。 | +| OH_HUKS_TAG_KEY_ALIAS | 密钥别名。 | +| OH_HUKS_TAG_DERIVE_KEY_SIZE | 派生密钥大小。 | +| OH_HUKS_TAG_IMPORT_KEY_TYPE | 导入密钥类型, 类型可在枚举OH_Huks_ImportKeyType中选择。 | +| OH_HUKS_TAG_UNWRAP_ALGORITHM_SUITE | 导入加密密钥的套件。 | +| OH_HUKS_TAG_ALL_USERS | 密钥使用访问控制和使用认证相关的标签取值范围: 301 - 500 多用户中的所有用户。 | +| OH_HUKS_TAG_USER_ID | 表示多用户id。 | +| OH_HUKS_TAG_NO_AUTH_REQUIRED | 表示是否需要密钥访问控制。 | +| OH_HUKS_TAG_USER_AUTH_TYPE | 表示密钥访问控制中用户认证类型。 | +| OH_HUKS_TAG_AUTH_TIMEOUT | 表示密钥访问控制类型中密钥访问的超时时间。 | +| OH_HUKS_TAG_AUTH_TOKEN | 表示密钥访问控制中使用密钥时传入的authtoken的类型 | +| OH_HUKS_TAG_KEY_AUTH_ACCESS_TYPE | 表示安全访问控制类型。从OH_Huks_AuthAccessType中选择,需要和用户认证类型同时设置。 | +| OH_HUKS_TAG_KEY_SECURE_SIGN_TYPE | 表示生成或导入密钥时,指定该密钥的签名类型。 | +| OH_HUKS_TAG_CHALLENGE_TYPE | 表示密钥使用时生成的challenge类型。从OH_Huks_ChallengeType中选择。 | +| OH_HUKS_TAG_CHALLENGE_POS | 表示challenge类型为用户自定义类型时,huks产生的challenge有效长度仅为8字节连续的数据的位置。从OH_Huks_ChallengePosition中选择。 | +| OH_HUKS_TAG_ATTESTATION_CHALLENGE | 密钥认证相关的标签值: 501 - 600 密钥认证时的挑战值。 | +| OH_HUKS_TAG_ATTESTATION_APPLICATION_ID | 密钥认证时拥有该密钥的application的Id。 | +| OH_HUKS_TAG_ATTESTATION_ID_BRAND | 设备的品牌。 | +| OH_HUKS_TAG_ATTESTATION_ID_DEVICE | 设备的设备ID。 | +| OH_HUKS_TAG_ATTESTATION_ID_PRODUCT | 设备的产品名。 | +| OH_HUKS_TAG_ATTESTATION_ID_SERIAL | 设备的SN号。 | +| OH_HUKS_TAG_ATTESTATION_ID_IMEI | 设备的IMEI号。 | +| OH_HUKS_TAG_ATTESTATION_ID_MEID | 设备的MEID号。 | +| OH_HUKS_TAG_ATTESTATION_ID_MANUFACTURER | 设备的制造商。 | +| OH_HUKS_TAG_ATTESTATION_ID_MODEL | 设备的型号。 | +| OH_HUKS_TAG_ATTESTATION_ID_ALIAS | 密钥别名。 | +| OH_HUKS_TAG_ATTESTATION_ID_SOCID | 设备的SOCID。 | +| OH_HUKS_TAG_ATTESTATION_ID_UDID | 设备的UDID。 | +| OH_HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO | 密钥认证时的安全凭据。 | +| OH_HUKS_TAG_ATTESTATION_ID_VERSION_INFO | 密钥认证时的版本号。 | +| OH_HUKS_TAG_IS_KEY_ALIAS | 其他类型的标签值预留: 601 - 1000
扩展标签值: 1001 - 9999 是否是密钥别名。 | +| OH_HUKS_TAG_KEY_STORAGE_FLAG | 密钥存储方式的标签, 类型可在枚举 [OH_Huks_KeyStorageType](#oh_huks_keystoragetype)选择。 | +| OH_HUKS_TAG_IS_ALLOWED_WRAP | 是否允许密钥封装。 | +| OH_HUKS_TAG_KEY_WRAP_TYPE | 密钥封装的类型。 | +| OH_HUKS_TAG_KEY_AUTH_ID | 密钥认证的ID。 | +| OH_HUKS_TAG_KEY_ROLE | 密钥角色。 | +| OH_HUKS_TAG_KEY_FLAG | 密钥标记, 类型可在枚举[OH_Huks_KeyFlag](#oh_huks_keyflag)选择。 | +| OH_HUKS_TAG_IS_ASYNCHRONIZED | 是否异步 | +| OH_HUKS_TAG_SECURE_KEY_ALIAS | 安全密钥别名。 | +| OH_HUKS_TAG_SECURE_KEY_UUID | 安全密钥UUID。 | +| OH_HUKS_TAG_KEY_DOMAIN | 密钥域。 | +| OH_HUKS_TAG_SYMMETRIC_KEY_DATA | 预留值: 11000 - 12000
其他标签预留值: 20001 - N 对称密钥数据 | +| OH_HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATA | 非对称密钥公钥数据 | +| OH_HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATA | 非对称密钥私钥数据 | + + +### OH_Huks_TagType + + +``` +enum OH_Huks_TagType +``` +**描述:** +参数集中参数类型的掩码值。 + +**参见:** + +[OH_Huks_Param](_o_h___huks___param.md) + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_TAG_TYPE_INVALID | 非法的Tag类型。 | +| OH_HUKS_TAG_TYPE_INT | 该Tag的数据类型为int32_t类型。 | +| OH_HUKS_TAG_TYPE_UINT | 该Tag的数据类型为uin32_t类型。 | +| OH_HUKS_TAG_TYPE_ULONG | 该Tag的数据类型为uin64_t类型。 | +| OH_HUKS_TAG_TYPE_BOOL | 该Tag的数据类型为bool类型。 | +| OH_HUKS_TAG_TYPE_BYTES | 该Tag的数据类型为OH_Huks_Blob类型。 | + + +### OH_Huks_UserAuthType + + +``` +enum OH_Huks_UserAuthType +``` +**描述:** +密钥访问控制中的用户认证类型 + +| 枚举值 | 描述 | +| -------- | -------- | +| OH_HUKS_USER_AUTH_TYPE_FINGERPRINT | 用户认证类型为指纹。 | +| OH_HUKS_USER_AUTH_TYPE_FACE | 用户认证类型为人脸。 | +| OH_HUKS_USER_AUTH_TYPE_PIN | 用户认证类型为PIN码。 | diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___blob.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___blob.md new file mode 100644 index 0000000000000000000000000000000000000000..17effd584efd2407710648090dcfd4f8c13acca6 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___blob.md @@ -0,0 +1,47 @@ +# OH_Huks_Blob + + +## 概述 + +定义存放数据的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [size](#size) | uint32_t
数据大小 | +| [data](#data) | uint8_t \*
指向数据内存的指针 | + + +## 结构体成员变量说明 + + +### data + + +``` +uint8_t* OH_Huks_Blob::data +``` +**描述:** +指向数据内存的指针 + + +### size + + +``` +uint32_t OH_Huks_Blob::size +``` +**描述:** +数据大小 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___cert_chain.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___cert_chain.md new file mode 100644 index 0000000000000000000000000000000000000000..de35546c979af0684a8e7c8cea4399101536e0fd --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___cert_chain.md @@ -0,0 +1,47 @@ +# OH_Huks_CertChain + + +## 概述 + +定义证书链的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + +| 名称 | 描述 | +| -------- | -------- | +| [certs](#certs) | struct [OH_Huks_Blob](_o_h___huks___blob.md) \*
指向证书数据的指针。 | +| [certsCount](#certscount) | uint32_t
证书本数。 | + + +## 结构体成员变量说明 + + +### certs + + +``` +struct OH_Huks_Blob* OH_Huks_CertChain::certs +``` +**描述:** +指向证书数据的指针。 + + +### certsCount + + +``` +uint32_t OH_Huks_CertChain::certsCount +``` +**描述:** +证书本数。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_info.md new file mode 100644 index 0000000000000000000000000000000000000000..0c5788fadaf1e47dbab0313774e0687bcfd5ec34 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_info.md @@ -0,0 +1,47 @@ +# OH_Huks_KeyInfo + + +## 概述 + +定义密钥信息的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [alias](#alias) | struct [OH_Huks_Blob](_o_h___huks___blob.md)
密钥的别名。 | +| [paramSet](#paramset) | struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*
指向密钥参数集的指针。 | + + +## 结构体成员变量说明 + + +### alias + + +``` +struct OH_Huks_Blob OH_Huks_KeyInfo::alias +``` +**描述:** +密钥的别名。 + + +### paramSet + + +``` +struct OH_Huks_ParamSet* OH_Huks_KeyInfo::paramSet +``` +**描述:** +指向密钥参数集的指针。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material25519.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material25519.md new file mode 100644 index 0000000000000000000000000000000000000000..8e40aaaef2d6e15201038406145076704fc2b49f --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material25519.md @@ -0,0 +1,80 @@ +# OH_Huks_KeyMaterial25519 + + +## 概述 + +定义25519类型密钥的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)
密钥的算法类型。 | +| [keySize](#keysize) | uint32_t
25519类型密钥的长度。 | +| [pubKeySize](#pubkeysize) | uint32_t
公钥的长度。 | +| [priKeySize](#prikeysize) | uint32_t
私钥的长度。 | +| [reserved](#reserved) | uint32_t
保留。 | + + +## 结构体成员变量说明 + + +### 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 +``` +**描述:** +保留。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_dh.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_dh.md new file mode 100644 index 0000000000000000000000000000000000000000..9888004a65d03abb8a63437058289890f088590f --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_dh.md @@ -0,0 +1,80 @@ +# OH_Huks_KeyMaterialDh + + +## 概述 + +定义Dh密钥的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)
密钥的算法类型。 | +| [keySize](#keysize) | uint32_t
Dh密钥的长度。 | +| [pubKeySize](#pubkeysize) | uint32_t
公钥的长度。 | +| [priKeySize](#prikeysize) | uint32_t
私钥的长度。 | +| [reserved](#reserved) | uint32_t
保留。 | + + +## 结构体成员变量说明 + + +### 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 +``` +**描述:** +保留。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_dsa.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_dsa.md new file mode 100644 index 0000000000000000000000000000000000000000..cda594af898afafb17ad1e3a6390a4465ed140f2 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_dsa.md @@ -0,0 +1,102 @@ +# OH_Huks_KeyMaterialDsa + + +## 概述 + +定义Dsa密钥的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)
密钥的算法类型。 | +| [keySize](#keysize) | uint32_t
密钥的长度。 | +| [xSize](#xsize) | uint32_t
x值的长度。 | +| [ySize](#ysize) | uint32_t
y值的长度。 | +| [pSize](#psize) | uint32_t
p值的长度。 | +| [qSize](#qsize) | uint32_t
q值的长度。 | +| [gSize](#gsize) | uint32_t
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值的长度。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_ecc.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_ecc.md new file mode 100644 index 0000000000000000000000000000000000000000..6b9a034ce22c444883d02d0b1bee7f54c4bca150 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_ecc.md @@ -0,0 +1,80 @@ +# OH_Huks_KeyMaterialEcc + + +## 概述 + +定义Ecc密钥的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)
密钥的算法类型。 | +| [keySize](#keysize) | uint32_t
密钥的长度。 | +| [xSize](#xsize) | uint32_t
x值的长度。 | +| [ySize](#ysize) | uint32_t
y值的长度。 | +| [zSize](#zsize) | uint32_t
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值的长度。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_rsa.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_rsa.md new file mode 100644 index 0000000000000000000000000000000000000000..bbe29d2f034cd61214d503ae4a11f677b248f335 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___key_material_rsa.md @@ -0,0 +1,80 @@ +# OH_Huks_KeyMaterialRsa + + +## 概述 + +定义Rsa密钥的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)
密钥的算法类型。 | +| [keySize](#keysize) | uint32_t
密钥的长度。 | +| [nSize](#nsize) | uint32_t
n值的长度。 | +| [eSize](#esize) | uint32_t
e值的长度。 | +| [dSize](#dsize) | uint32_t
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值的长度。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___param.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___param.md new file mode 100644 index 0000000000000000000000000000000000000000..8febc613c474b0ed7d423afa7b38190340f980c8 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___param.md @@ -0,0 +1,93 @@ +# OH_Huks_Param + + +## 概述 + +定义参数集中的参数结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [tag](#tag) | uint32_t
标签值 | +| | 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型参数。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___param_set.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___param_set.md new file mode 100644 index 0000000000000000000000000000000000000000..9c334baf99c8625d6683781d905f6937eed74e49 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___param_set.md @@ -0,0 +1,58 @@ +# OH_Huks_ParamSet + + +## 概述 + +定义参数集的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [paramSetSize](#paramsetsize) | uint32_t
参数集的内存大小。 | +| [paramsCnt](#paramscnt) | uint32_t
参数的个数。 | +| [params](#params) [] | struct [OH_Huks_Param](_o_h___huks___param.md)
参数数组。 | + + +## 结构体成员变量说明 + + +### params + + +``` +struct OH_Huks_Param OH_Huks_ParamSet::params[] +``` +**描述:** +参数数组。 + + +### paramsCnt + + +``` +uint32_t OH_Huks_ParamSet::paramsCnt +``` +**描述:** +参数的个数。 + + +### paramSetSize + + +``` +uint32_t OH_Huks_ParamSet::paramSetSize +``` +**描述:** +参数集的内存大小。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___pub_key_info.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___pub_key_info.md new file mode 100644 index 0000000000000000000000000000000000000000..3628fab4a40c66fe3d5676be5d0a2b40ae84e108 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___pub_key_info.md @@ -0,0 +1,80 @@ +# OH_Huks_PubKeyInfo + + +## 概述 + +定义公钥信息的结构体类型。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [keyAlg](#keyalg) | enum [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg)
公钥的算法类型。 | +| [keySize](#keysize) | uint32_t
公钥的长度。 | +| [nOrXSize](#norxsize) | uint32_t
n或X值的长度。 | +| [eOrYSize](#eorysize) | uint32_t
e或Y值的长度。 | +| [placeHolder](#placeholder) | uint32_t
占位符大小。 | + + +## 结构体成员变量说明 + + +### 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 +``` +**描述:** +占位符大小。 diff --git a/zh-cn/application-dev/reference/native-apis/_o_h___huks___result.md b/zh-cn/application-dev/reference/native-apis/_o_h___huks___result.md new file mode 100644 index 0000000000000000000000000000000000000000..cc2c126a559313886655ded26f508660ed458280 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/_o_h___huks___result.md @@ -0,0 +1,58 @@ +# OH_Huks_Result + + +## 概述 + +表示状态返回数据,包括返回码和消息。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 成员变量 + + | 名称 | 描述 | +| -------- | -------- | +| [errorCode](#errorcode) | int32_t
状态返回码。 | +| [errorMsg](#errormsg) | const char \*
对状态返回码的说明信息。 | +| [data](#data) | uint8_t \*
其他返回数据。 | + + +## 结构体成员变量说明 + + +### data + + +``` +uint8_t* OH_Huks_Result::data +``` +**描述:** +其他返回数据。 + + +### errorCode + + +``` +int32_t OH_Huks_Result::errorCode +``` +**描述:** +状态返回码。 + + +### errorMsg + + +``` +const char* OH_Huks_Result::errorMsg +``` +**描述:** +对状态返回码的说明信息。 diff --git a/zh-cn/application-dev/reference/native-apis/native__huks__api_8h.md b/zh-cn/application-dev/reference/native-apis/native__huks__api_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..f88c681901126c83c484414cabe2c1ce474e84c1 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__huks__api_8h.md @@ -0,0 +1,35 @@ +# 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)
获取当前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)
生成密钥。 | +| [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)
导入明文密钥。 | +| [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)
导入密文密钥。 | +| [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)
导出公钥。 | +| [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)
删除密钥。 | +| [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)
获取密钥的属性集。 | +| [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)
判断密钥是否存在。 | +| [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)
获取密钥证书链。 | +| [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)
初始化密钥会话接口,并获取一个句柄(必选)和挑战值(可选)。 | +| [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)
分段添加密钥操作的数据并进行相应的密钥操作,输出处理数据。 | +| [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)
结束密钥会话并进行相应的密钥操作,输出处理数据。 | +| [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)
取消密钥会话。 | diff --git a/zh-cn/application-dev/reference/native-apis/native__huks__param_8h.md b/zh-cn/application-dev/reference/native-apis/native__huks__param_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..8fa4c77fa9dd0eea9e5642ec48d201a291d5a1a3 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__huks__param_8h.md @@ -0,0 +1,32 @@ +# 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
初始化参数集。 | +| [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
添加参数到参数集里面。 | +| [OH_Huks_BuildParamSet](_huks_param_set_api.md#oh_huks_buildparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | int32_t
构造正式的参数集。 | +| [OH_Huks_FreeParamSet](_huks_param_set_api.md#oh_huks_freeparamset) (struct [OH_Huks_ParamSet](_o_h___huks___param_set.md) \*\*paramSet) | void
销毁参数集。 | +| [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
复制参数集(深拷贝)。 | +| [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
从参数集中获取参数。 | +| [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
刷新(复制)参数集内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
检查参数集中的参数是否有效、是否有重复。 | +| [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
检查参数集大小是否有效。 | +| [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
比较两个参数是否相同 | diff --git a/zh-cn/application-dev/reference/native-apis/native__huks__type_8h.md b/zh-cn/application-dev/reference/native-apis/native__huks__type_8h.md new file mode 100644 index 0000000000000000000000000000000000000000..c43a919a8800abdaf302eb353806b23db78d59f7 --- /dev/null +++ b/zh-cn/application-dev/reference/native-apis/native__huks__type_8h.md @@ -0,0 +1,81 @@ +# native_huks_type.h + + +## 概述 + +提供huks中的枚举变量、结构体定义与宏定义。 + + **起始版本:** +9 + +**相关模块:** + +[HuksTypeApi](_huks_type_api.md) + + +## 汇总 + + +### 结构体 + +| 名称 | 描述 | +| -------- | -------- | +| [OH_Huks_Result](_o_h___huks___result.md) | struct
表示状态返回数据,包括返回码和消息。 | +| [OH_Huks_Blob](_o_h___huks___blob.md) | struct
定义存放数据的结构体类型。 | +| [OH_Huks_Param](_o_h___huks___param.md) | struct
定义参数集中的参数结构体类型。 | +| [OH_Huks_ParamSet](_o_h___huks___param_set.md) | struct
定义参数集的结构体类型。 | +| [OH_Huks_CertChain](_o_h___huks___cert_chain.md) | struct
定义证书链的结构体类型。 | +| [OH_Huks_KeyInfo](_o_h___huks___key_info.md) | struct
定义密钥信息的结构体类型。 | +| [OH_Huks_PubKeyInfo](_o_h___huks___pub_key_info.md) | struct
定义公钥信息的结构体类型。 | +| [OH_Huks_KeyMaterialRsa](_o_h___huks___key_material_rsa.md) | struct
定义Rsa密钥的结构体类型。 | +| [OH_Huks_KeyMaterialEcc](_o_h___huks___key_material_ecc.md) | struct
定义Ecc密钥的结构体类型。 | +| [OH_Huks_KeyMaterialDsa](_o_h___huks___key_material_dsa.md) | struct
定义Dsa密钥的结构体类型。 | +| [OH_Huks_KeyMaterialDh](_o_h___huks___key_material_dh.md) | struct
定义Dh密钥的结构体类型。 | +| [OH_Huks_KeyMaterial25519](_o_h___huks___key_material25519.md) | struct
定义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) {
OH_HUKS_KEY_PURPOSE_ENCRYPT = 1,
OH_HUKS_KEY_PURPOSE_DECRYPT = 2,
OH_HUKS_KEY_PURPOSE_SIGN = 4,
OH_HUKS_KEY_PURPOSE_VERIFY = 8,
OH_HUKS_KEY_PURPOSE_DERIVE = 16,
OH_HUKS_KEY_PURPOSE_WRAP = 32,
OH_HUKS_KEY_PURPOSE_UNWRAP = 64,
OH_HUKS_KEY_PURPOSE_MAC = 128,
OH_HUKS_KEY_PURPOSE_AGREE = 256
} | 密钥用途类型。 | +| [OH_Huks_KeyDigest](_huks_type_api.md#oh_huks_keydigest) {
OH_HUKS_DIGEST_NONE = 0,
OH_HUKS_DIGEST_MD5 = 1,
OH_HUKS_DIGEST_SM3 = 2,
OH_HUKS_DIGEST_SHA1 = 10,
OH_HUKS_DIGEST_SHA224 = 11,
OH_HUKS_DIGEST_SHA256 = 12,
OH_HUKS_DIGEST_SHA384 = 13,
OH_HUKS_DIGEST_SHA512 = 14
} | 摘要算法类型。 | +| [OH_Huks_KeyPadding](_huks_type_api.md#oh_huks_keypadding) {
OH_HUKS_PADDING_NONE = 0,
OH_HUKS_PADDING_OAEP = 1,
OH_HUKS_PADDING_PSS = 2,
OH_HUKS_PADDING_PKCS1_V1_5 = 3,
OH_HUKS_PADDING_PKCS5 = 4,
OH_HUKS_PADDING_PKCS7 = 5
} | 补齐算法类型。 | +| [OH_Huks_CipherMode](_huks_type_api.md#oh_huks_ciphermode) {
OH_HUKS_MODE_ECB = 1,
OH_HUKS_MODE_CBC = 2,
OH_HUKS_MODE_CTR = 3,
OH_HUKS_MODE_OFB = 4,
OH_HUKS_MODE_CCM = 31,
OH_HUKS_MODE_GCM = 32
} | 加解密算法工作模式。 | +| [OH_Huks_KeySize](_huks_type_api.md#oh_huks_keysize) {
OH_HUKS_RSA_KEY_SIZE_512 = 512,
OH_HUKS_RSA_KEY_SIZE_768 = 768,
OH_HUKS_RSA_KEY_SIZE_1024 = 1024,
OH_HUKS_RSA_KEY_SIZE_2048 = 2048,
OH_HUKS_RSA_KEY_SIZE_3072 = 3072,
OH_HUKS_RSA_KEY_SIZE_4096 = 4096,
OH_HUKS_ECC_KEY_SIZE_224 = 224,
OH_HUKS_ECC_KEY_SIZE_256 = 256,
OH_HUKS_ECC_KEY_SIZE_384 = 384,
OH_HUKS_ECC_KEY_SIZE_521 = 521,
OH_HUKS_AES_KEY_SIZE_128 = 128,
OH_HUKS_AES_KEY_SIZE_192 = 192,
OH_HUKS_AES_KEY_SIZE_256 = 256,
OH_HUKS_AES_KEY_SIZE_512 = 512,
OH_HUKS_CURVE25519_KEY_SIZE_256 = 256,
OH_HUKS_DH_KEY_SIZE_2048 = 2048,
OH_HUKS_DH_KEY_SIZE_3072 = 3072,
OH_HUKS_DH_KEY_SIZE_4096 = 4096,
OH_HUKS_SM2_KEY_SIZE_256 = 256,
OH_HUKS_SM4_KEY_SIZE_128 = 128
} | 算法密钥长度。 | +| [OH_Huks_KeyAlg](_huks_type_api.md#oh_huks_keyalg) {
OH_HUKS_ALG_RSA = 1,
OH_HUKS_ALG_ECC = 2,
OH_HUKS_ALG_DSA = 3,
OH_HUKS_ALG_AES = 20,
OH_HUKS_ALG_HMAC = 50,
OH_HUKS_ALG_HKDF = 51,
OH_HUKS_ALG_PBKDF2 = 52,
OH_HUKS_ALG_ECDH = 100,
OH_HUKS_ALG_X25519 = 101,
OH_HUKS_ALG_ED25519 = 102,
OH_HUKS_ALG_DH = 103,
OH_HUKS_ALG_SM2 = 150,
OH_HUKS_ALG_SM3 = 151,
OH_HUKS_ALG_SM4 = 152
} | 密钥使用的算法。 | +| [OH_Huks_AlgSuite](_huks_type_api.md#oh_huks_algsuite) {
OH_HUKS_UNWRAP_SUITE_X25519_AES_256_GCM_NOPADDING = 1,
OH_HUKS_UNWRAP_SUITE_ECDH_AES_256_GCM_NOPADDING = 2
} | 密文导入所需的算法套件类型 | +| [OH_Huks_KeyGenerateType](_huks_type_api.md#oh_huks_keygeneratetype) {
OH_HUKS_KEY_GENERATE_TYPE_DEFAULT = 0,
OH_HUKS_KEY_GENERATE_TYPE_DERIVE = 1,
OH_HUKS_KEY_GENERATE_TYPE_AGREE = 2
} | 生成的密钥类型。 | +| [OH_Huks_KeyFlag](_huks_type_api.md#oh_huks_keyflag) {
OH_HUKS_KEY_FLAG_IMPORT_KEY = 1,
OH_HUKS_KEY_FLAG_GENERATE_KEY = 2,
OH_HUKS_KEY_FLAG_AGREE_KEY = 3,
OH_HUKS_KEY_FLAG_DERIVE_KEY = 4
} | 密钥的产生方式。 | +| [OH_Huks_KeyStorageType](_huks_type_api.md#oh_huks_keystoragetype) {
OH_HUKS_STORAGE_TEMP = 0,
OH_HUKS_STORAGE_PERSISTENT = 1
} | 密钥的存储方式。 | +| [OH_Huks_ImportKeyType](_huks_type_api.md#oh_huks_importkeytype) {
OH_HUKS_KEY_TYPE_PUBLIC_KEY = 0,
OH_HUKS_KEY_TYPE_PRIVATE_KEY = 1,
OH_HUKS_KEY_TYPE_KEY_PAIR = 2
}| 导入密钥的类型,默认为导入公钥,导入对称密钥时不需要该字段。 | +| [OH_Huks_ErrCode](_huks_type_api.md#oh_huks_errcode) {
OH_HUKS_SUCCESS = 0,
OH_HUKS_ERR_CODE_PERMISSION_FAIL = 201,
OH_HUKS_ERR_CODE_ILLEGAL_ARGUMENT = 401,
OH_HUKS_ERR_CODE_NOT_SUPPORTED_API = 801,
OH_HUKS_ERR_CODE_FEATURE_NOT_SUPPORTED = 12000001,
OH_HUKS_ERR_CODE_MISSING_CRYPTO_ALG_ARGUMENT = 12000002,
OH_HUKS_ERR_CODE_INVALID_CRYPTO_ALG_ARGUMENT = 12000003,
OH_HUKS_ERR_CODE_FILE_OPERATION_FAIL = 12000004,
OH_HUKS_ERR_CODE_COMMUNICATION_FAIL = 12000005,
OH_HUKS_ERR_CODE_CRYPTO_FAIL = 12000006,
OH_HUKS_ERR_CODE_KEY_AUTH_PERMANENTLY_INVALIDATED = 12000007,
OH_HUKS_ERR_CODE_KEY_AUTH_VERIFY_FAILED = 12000008,
OH_HUKS_ERR_CODE_KEY_AUTH_TIME_OUT = 12000009,
OH_HUKS_ERR_CODE_SESSION_LIMIT = 12000010,
OH_HUKS_ERR_CODE_ITEM_NOT_EXIST = 12000011,
OH_HUKS_ERR_CODE_INTERNAL_ERROR = 12000012,
OH_HUKS_ERR_CODE_CREDENTIAL_NOT_EXIST = 12000013
} | 错误码。 | +| [OH_Huks_TagType](_huks_type_api.md#oh_huks_tagtype) {
OH_HUKS_TAG_TYPE_INVALID = 0 << 28,
OH_HUKS_TAG_TYPE_INT = 1 << 28,
OH_HUKS_TAG_TYPE_UINT = 2 << 28,
OH_HUKS_TAG_TYPE_ULONG = 3 << 28,
OH_HUKS_TAG_TYPE_BOOL = 4 << 28,
OH_HUKS_TAG_TYPE_BYTES = 5 << 28
} | 参数集中参数类型的掩码值。 | +| [OH_Huks_UserAuthType](_huks_type_api.md#oh_huks_userauthtype) {
OH_HUKS_USER_AUTH_TYPE_FINGERPRINT = 1 << 0,
OH_HUKS_USER_AUTH_TYPE_FACE = 1 << 1,
OH_HUKS_USER_AUTH_TYPE_PIN = 1 << 2
} | 密钥访问控制中的用户认证类型 | +| [OH_Huks_AuthAccessType](_huks_type_api.md#oh_huks_authaccesstype) {
OH_HUKS_AUTH_ACCESS_INVALID_CLEAR_PASSWORD = 1 << 0,
OH_HUKS_AUTH_ACCESS_INVALID_NEW_BIO_ENROLL = 1 << 1
} | 安全访问控制类型,表示密钥失效的原则 | +| [OH_Huks_ChallengeType](_huks_type_api.md#oh_huks_challengetype) {
OH_HUKS_CHALLENGE_TYPE_NORMAL = 0,
OH_HUKS_CHALLENGE_TYPE_CUSTOM = 1,
OH_HUKS_CHALLENGE_TYPE_NONE = 2
} | 密钥使用时生成challenge的类型 | +| [OH_Huks_ChallengePosition](_huks_type_api.md#oh_huks_challengeposition) {
OH_HUKS_CHALLENGE_POS_0 = 0,
OH_HUKS_CHALLENGE_POS_1,
OH_HUKS_CHALLENGE_POS_2,
OH_HUKS_CHALLENGE_POS_3
} | 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) {
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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,
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
} | 参数集所用的TAG值枚举 |