• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 密钥导出(ArkTS)
2
3业务需要获取持久化存储的非对称密钥的公钥时使用,当前支持ECC/RSA/ED25519/X25519/SM2的公钥导出。
4>**说明:**
5> 轻量级设备仅支持RSA公钥导出。
6
7## 开发步骤
8
91. 指定密钥别名keyAlias,密钥别名最大长度为128字节。
10
112. 调用接口[exportKeyItem](../../reference/apis-universal-keystore-kit/js-apis-huks.md#huksexportkeyitem9),传入参数keyAlias和options。
12   options为预留参数,当前可传入空。
13
143. 返回值为[HuksReturnResult](../../reference/apis-universal-keystore-kit/js-apis-huks.md#huksreturnresult9)类型对象,获取的公钥明文在outData字段中,以标准的X.509规范的DER格式封装,具体请参考[公钥材料格式](huks-concepts.md#公钥材料格式)。
15
16```ts
17import { huks } from '@kit.UniversalKeystoreKit';
18
19/* 1. 设置密钥别名 */
20let keyAlias = 'keyAlias';
21/* option对象传空 */
22let emptyOptions: huks.HuksOptions = {
23  properties: []
24};
25try {
26  /* 2. 导出密钥 */
27  huks.exportKeyItem(keyAlias, emptyOptions, (error, data) => {
28    if (error) {
29      console.error(`callback: exportKeyItem failed, ` + error);
30    } else {
31      console.info(`callback: exportKeyItem success, data = ${JSON.stringify(data)}`);
32    }
33  });
34} catch (error) {
35  console.error(`callback: exportKeyItem input arg invalid, ` + JSON.stringify(error));
36}
37```
38