HarmonyOS 鸿蒙Next 使用trustedAppService.createAttestKey创建证明秘钥,报1011500006错误
HarmonyOS 鸿蒙Next 使用trustedAppService.createAttestKey创建证明秘钥,报1011500006错误
用trustedAppService.createAttestKey(createOptions);创建证明密钥,报上面的错误,设备是ALN-AL00,我看官网的错误信息是IPC通信失败,可信应用服务的 SA 未被拉起。
创建一个Helloworld工程,也同样报错。
E [nodict]Read Int32 failed!
E [CreateAttestKey:156]: Call remote CreateAttestKey failed! result = 1011500006
E [ExecuteCreateAttestKey:89] Failed to create attest key
/ 创建证书链
async createChainList(longCoonId: string): Promise<string[]> {
// 创建证明密钥的参数
if (!canIUse(‘SystemCapability.Security.TrustedAppService.Core’)) {
throw new Error(‘createChainList fail, api not support in device.’)
}
const createProperties: Array<trustedAppService.AttestParam> = [
{
tag: trustedAppService.AttestTag.ATTEST_TAG_ALGORITHM,
value: trustedAppService.AttestKeyAlg.ATTEST_ALG_ECC
},
{
tag: trustedAppService.AttestTag.ATTEST_TAG_KEY_SIZE,
value: trustedAppService.AttestKeySize.ATTEST_ECC_KEY_SIZE_256
}
];
const createOptions: trustedAppService.AttestOptions = {
properties: createProperties
};
// 初始化证明会话的参数
const userData = longCoonId // 用户数据
const initProperties: Array<trustedAppService.AttestParam> = [
{
tag: trustedAppService.AttestTag.ATTEST_TAG_DEVICE_TYPE,
value: trustedAppService.AttestType.ATTEST_TYPE_LOCATION
},
{
tag: trustedAppService.AttestTag.ATTEST_TAG_DEVICE_ID,
value: BigInt(0) // 此参数在安全地理位置场景下不生效
}
];
const initOptions: trustedAppService.AttestOptions = {
properties: initProperties
};
// 创建证明密钥并打开证明会话
let certChains: Array<string>;
try {
await trustedAppService.createAttestKey(createOptions); // 这里报错
const result = await trustedAppService.initializeAttestContext(userData, initOptions);
certChains = result.certChains;
if (certChains.length) {
this.certChains = certChains
}
return certChains;
} catch (err) {
const error = err as BusinessError;
throw new Error(Failed to initialize attest context, message:${error.message}, code:${error.code}
);
}
}
针对您在使用HarmonyOS鸿蒙Next系统中,通过trustedAppService.createAttestKey
方法创建证明密钥时遇到的1011500006错误,这通常指示着某种权限或配置问题。以下是一些可能的原因及检查点:
-
权限配置:确保您的应用已正确声明并获得了使用
trustedAppService
及相关API的必要权限。这包括在manifest.json
中正确配置权限声明。 -
应用签名:检查您的应用是否使用了正确的签名证书。某些安全服务要求应用必须使用特定的签名证书才能访问。
-
系统版本兼容性:确认您的设备或模拟器运行的HarmonyOS版本是否支持您正在使用的API。某些API可能在新版本中才可用。
-
API使用方式:确保您按照官方文档正确调用了
createAttestKey
方法,包括传递正确的参数和处理返回值。 -
设备状态:检查设备是否处于允许执行此类安全操作的状态,如未处于root状态或未启用某些可能影响安全性的设置。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。希望这些信息能帮助您解决问题。