1# 查询密钥是否存在(ArkTS)
2
3
4HUKS提供了接口供应用查询指定密钥是否存在。
5
6
7## 开发步骤
8
91. 指定密钥别名keyAlias,密钥别名最大长度为128字节。
10
112. 初始化密钥属性集。用于查询时指定[密钥的属性TAG](../../reference/apis-universal-keystore-kit/js-apis-huks.md#hukstag),当查询单个密钥时,TAG字段可传空。
12
133. 调用接口[hasKeyItem](../../reference/apis-universal-keystore-kit/js-apis-huks.md#hukshaskeyitem11),查询密钥是否存在。
14
15```ts
16import { huks } from '@kit.UniversalKeystoreKit';
17
18/* 1.确定密钥别名 */
19let keyAlias = 'test_key';
20let isKeyExist: Boolean;
21/* 2.构造空对象 */
22let huksOptions: huks.HuksOptions = {
23  properties: []
24}
25try {
26  /* 3.判断密钥是否存在 */
27  huks.hasKeyItem(keyAlias, huksOptions, (error, data) => {
28    if (error) {
29      console.error(`callback: hasKeyItem failed, ` + JSON.stringify(error));
30    } else {
31      if (data !== null && data.valueOf() !== null) {
32        isKeyExist = data.valueOf();
33        console.info(`callback: hasKeyItem success, isKeyExist = ${isKeyExist}`);
34      }
35    }
36  });
37} catch (error) {
38  console.error(`callback: hasKeyItem input arg invalid, ` + JSON.stringify(error));
39}
40```
41