查询密钥是否存在(C/C++)
HUKS提供了接口供应用查询指定密钥是否存在。
在CMake脚本中链接相关动态库
target_link_libraries(entry PUBLIC libhuks_ndk.z.so)
开发步骤
构造对应参数。
- 指定密钥别名keyAlias,密钥别名最大长度为64字节。
- 查询密钥需要的属性TAG(默认传空)。
调用接口[OH_Huks_IsKeyItemExist],查询密钥是否存在。
#include "huks/native_huks_api.h"
#include "huks/native_huks_param.h"
#include <string.h>
static napi_value IsKeyExist(napi_env env, napi_callback_info info)
{
/* 1.获取密钥别名 */
struct OH_Huks_Blob keyAlias = {
(uint32_t)strlen("test_key"),
(uint8_t *)"test_key"
};
/* 2.调用OH_Huks_IsKeyItemExist判断密钥是否存在 */
struct OH_Huks_Result ohResult = OH_Huks_IsKeyItemExist(&keyAlias, nullptr);
// OH_HUKS_SUCCESS表示存在, OH_HUKS_ERR_CODE_ITEM_NOT_EXIST表示不存在
napi_value ret;
napi_create_int32(env, ohResult.errorCode, &ret);
return ret;
}