HuksParamSetApi

Overview

Defines the capabilities of OpenHarmony Universal KeyStore (HUKS) parameter sets. The HUKS APIs can be used to perform parameter set lifecycle management, including initializing a parameter set, adding parameters to a parameter set, constructing a parameter set, and destroying a parameter set. They can also be used to obtain parameters, copy parameter sets, and check parameter validity.

@syscap SystemCapability.Security.Huks

Since: 9

Summary

Files

Name Description
native_huks_param.h Provides APIs for constructing, using, and destroying parameter sets.
File to Include: <huks/native_huks/native_huks_param.h>

Functions

Name Description
OH_Huks_InitParamSet (struct OH_Huks_ParamSet **paramSet) Initializes a parameter set.
OH_Huks_AddParams (struct OH_Huks_ParamSet *paramSet, const struct OH_Huks_Param *params, uint32_t paramCnt) Adds parameters to a parameter set.
OH_Huks_BuildParamSet (struct OH_Huks_ParamSet **paramSet) Constructs a parameter set.
OH_Huks_FreeParamSet (struct OH_Huks_ParamSet **paramSet) Destroys a parameter set.
OH_Huks_CopyParamSet (const struct OH_Huks_ParamSet *fromParamSet, uint32_t fromParamSetSize, struct OH_Huks_ParamSet **paramSet) Copies a parameter set (deep copy).
OH_Huks_GetParam (const struct OH_Huks_ParamSet *paramSet, uint32_t tag, struct OH_Huks_Param **param) Obtains parameters from a parameter set.
OH_Huks_FreshParamSet (struct OH_Huks_ParamSet *paramSet, bool isCopy) Refreshes data of the Blob type in a parameter set.
OH_Huks_isParamSetTagValid (const struct OH_Huks_ParamSet *paramSet) Checks whether the parameters in a parameter set are valid.
OH_Huks_isParamSetValid (const struct OH_Huks_ParamSet *paramSet, uint32_t size) Checks whether a parameter set is of the valid size.
OH_Huks_CheckParamMatch (const struct OH_Huks_Param *baseParam, const struct OH_Huks_Param *param) Checks whether two parameters are the same.

Function Description

OH_Huks_AddParams()

int32_t OH_Huks_AddParams (struct OH_Huks_ParamSet * paramSet, const struct OH_Huks_Param * params, uint32_t paramCnt )

Description
Adds parameters to a parameter set.

Parameters

Name Description
paramSet Indicates the pointer to the parameter set to which parameters are to be added.
params Indicates the pointer to the array of parameters to add.
paramCnt Indicates the number of parameters to add.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the operation is successful; returns an error code otherwise.

OH_Huks_BuildParamSet()

int32_t OH_Huks_BuildParamSet (struct OH_Huks_ParamSet ** paramSet)

Description
Constructs a parameter set.

Parameters

Name Description
paramSet Indicates the double pointer to the parameter set to construct.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the operation is successful; returns an error code otherwise.

OH_Huks_CheckParamMatch()

int32_t OH_Huks_CheckParamMatch (const struct OH_Huks_Param * baseParam, const struct OH_Huks_Param * param )

Description
Checks whether two parameters are the same.

Parameters

Name Description
baseParam Indicates the pointer to the first parameter.
param Indicates the pointer to the second parameter.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the two parameters are the same; returns an error code otherwise.

OH_Huks_CopyParamSet()

int32_t OH_Huks_CopyParamSet (const struct OH_Huks_ParamSet * fromParamSet, uint32_t fromParamSetSize, struct OH_Huks_ParamSet ** paramSet )

Description
Copies a parameter set (deep copy).

Parameters

Name Description
fromParamSet Indicates the pointer to the parameter set to copy.
fromParamSetSize Indicates the memory size occupied by the source parameter set.
paramSet Indicates the double pointer to the new parameter set generated.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the operation is successful; returns an error code otherwise.

OH_Huks_FreeParamSet()

void OH_Huks_FreeParamSet (struct OH_Huks_ParamSet ** paramSet)

Description
Destroys a parameter set.

Parameters

Name Description
paramSet Indicates the double pointer to the parameter set to destroy.

OH_Huks_FreshParamSet()

int32_t OH_Huks_FreshParamSet (struct OH_Huks_ParamSet * paramSet, bool isCopy )

Description
Refreshes data of the Blob type in a parameter set.

Parameters

Name Description
paramSet Indicates the pointer to the target parameter set.
isCopy Specifies whether to copy the data of the Blob type to the parameter set. If yes, the data of the Blob type will be copied to the parameter set. Otherwise, only the address of the Blob data will be refreshed.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if operation is successful; returns an error code otherwise.

OH_Huks_GetParam()

int32_t OH_Huks_GetParam (const struct OH_Huks_ParamSet * paramSet, uint32_t tag, struct OH_Huks_Param ** param )

Description
Obtains parameters from a parameter set.

Parameters

Name Description
paramSet Indicates the pointer to the target parameter set.
tag Indicates the value of the parameter to be obtained.
param Indicates the double pointer to the parameter obtained.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the operation is successful, returns an error code otherwise.

OH_Huks_InitParamSet()

int32_t OH_Huks_InitParamSet (struct OH_Huks_ParamSet ** paramSet)

Description
Initializes a parameter set.

Parameters

Name Description
paramSet Indicates the double pointer to the parameter set to initialize.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the initialization is successful; returns an error code otherwise.

OH_Huks_isParamSetTagValid()

int32_t OH_Huks_isParamSetTagValid (const struct OH_Huks_ParamSet * paramSet)

Description
Checks whether the parameters in a parameter set are valid.

Parameters

Name Description
paramSet Indicates the pointer to the parameter set to check.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the parameters in the parameter set are valid; returns other values if the parameter set has invalid, duplicate, or incorrect parameters.

OH_Huks_isParamSetValid()

int32_t OH_Huks_isParamSetValid (const struct OH_Huks_ParamSet * paramSet, uint32_t size )

Description
Checks whether a parameter set is of the valid size.

Parameters

Name Description
paramSet Indicates the pointer to the parameter set to check.
size Indicates the memory size occupied by the parameter set.

Returns

Returns OH_Huks_ErrCode#OH_HUKS_SUCCESS if the parameter set is of the valid size; returns an error code otherwise.