1# 密钥删除(ArkTS) 2 3为保证数据安全性,当不需要使用该密钥时,应该删除密钥。 4 5## 开发步骤 6 7以删除HKDF256密钥为例。 8 91. 确定密钥别名keyAlias,密钥别名最大长度为128字节。 10 112. 初始化密钥属性集。用于删除时指定[密钥的属性TAG](../../reference/apis-universal-keystore-kit/_huks_type_api.md#oh_huks_tag),当删除单个时,TAG字段可传空。 12 133. 调用接口[deleteKeyItem](../../reference/apis-universal-keystore-kit/js-apis-huks.md#huksdeletekeyitem9),删除密钥。 14 15```ts 16/* 17 * 以下以HKDF256密钥的Promise操作使用为例 18 */ 19import { huks } from '@kit.UniversalKeystoreKit'; 20 21/* 1.确定密钥别名 */ 22let keyAlias = "test_Key"; 23/* 2.构造空对象 */ 24let huksOptions: huks.HuksOptions = { 25 properties: [] 26} 27 28class throwObject { 29 isThrow = false; 30} 31 32function deleteKeyItem(keyAlias: string, huksOptions: huks.HuksOptions, throwObject: throwObject) { 33 return new Promise<void>((resolve, reject) => { 34 try { 35 huks.deleteKeyItem(keyAlias, huksOptions, (error, data) => { 36 if (error) { 37 reject(error); 38 } else { 39 resolve(data); 40 } 41 }); 42 } catch (error) { 43 throwObject.isThrow = true; 44 throw (error as Error); 45 } 46 }); 47} 48 49/* 3.删除密钥*/ 50async function publicDeleteKeyFunc(keyAlias: string, huksOptions: huks.HuksOptions) { 51 console.info(`enter promise deleteKeyItem`); 52 let throwObject: throwObject = { isThrow: false }; 53 try { 54 await deleteKeyItem(keyAlias, huksOptions, throwObject) 55 .then((data) => { 56 console.info(`promise: deleteKeyItem key success, data = ${JSON.stringify(data)}`); 57 }) 58 .catch((error: Error) => { 59 if (throwObject.isThrow) { 60 throw (error as Error); 61 } else { 62 console.error(`promise: deleteKeyItem failed, ${JSON.stringify(error)}`); 63 } 64 }); 65 } catch (error) { 66 console.error(`promise: deleteKeyItem input arg invalid, ${JSON.stringify(error)}`); 67 } 68} 69 70async function testDerive() { 71 await publicDeleteKeyFunc(keyAlias, huksOptions); 72} 73``` 74