打开资源/关闭资源(ArkTS)
从API版本26.0.0开始,huksExternalCrypto提供打开/关闭资源功能的ArkTS接口。
打开资源
应用在密钥操作之前(密钥操作、通用操作、PIN码认证等),需要先调用openResource打开资源。打开资源需要获取resourceId,resourceId可通过证书选择接口获取,或通过getResourceId获取外部密钥管理扩展的资源ID。
开发步骤
-
通过证书选择接口获取keyUri作为resourceId,或通过getResourceId获取外部密钥管理扩展的资源ID。
-
调用openResource打开资源。
开发案例
import { huksExternalCrypto } from '@kit.UniversalKeystoreKit';
import { BusinessError } from '@kit.BasicServicesKit';
const resourceId = JSON.stringify({
providerName: "testProviderName",
bundleName: "com.example.cryptoapplication",
abilityName: "CryptoExtension",
index: {
key: "testKey"
} as ESObject
});
const openResourceParams: Array<huksExternalCrypto.HuksExternalCryptoParam> = [];
async function openResource(): Promise<void> {
try {
await huksExternalCrypto.openResource(resourceId, openResourceParams)
.then(() => {
console.info('promise: openResource success.');
}).catch((error: BusinessError) => {
console.error(`promise: openResource failed, errCode : ${error.code}, errMsg : ${error.message}`);
});
} catch (error) {
console.error('promise: openResource input arg invalid.');
}
}
关闭资源
生态应用调用证书HAP界面,展示证书列表,用户选择证书,生态应用拿到对应的resourceId,关闭资源依赖于对应的resourceId。具体的场景介绍及规格,请参考资源管理介绍及规格。
开发步骤
-
通过证书选择接口获取resourceId,或通过getResourceId获取外部密钥管理扩展的资源ID。
-
调用closeResource关闭资源。
开发案例
import { huksExternalCrypto } from '@kit.UniversalKeystoreKit';
import { BusinessError } from '@kit.BasicServicesKit';
const resourceId = JSON.stringify({
providerName: "testProviderName",
bundleName: "com.example.cryptoapplication",
abilityName: "CryptoExtension",
index: {
key: "testKey"
} as ESObject
});
const closeResourceParams: Array<huksExternalCrypto.HuksExternalCryptoParam> = [];
async function closeResource(): Promise<void> {
try {
await huksExternalCrypto.closeResource(resourceId, closeResourceParams)
.then(() => {
console.info('promise: closeResource success.');
}).catch((error: BusinessError) => {
console.error(`promise: closeResource failed, errCode : ${error.code}, errMsg : ${error.message}`);
});
} catch (error) {
console.error('promise: closeResource input arg invalid.');
}
}