HarmonyOS 鸿蒙Next cryptoFramework.createVerify.init 崩溃

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next cryptoFramework.createVerify.init 崩溃

api12

static async verifyOriginAndSignStr(
cert: cryptoCert.X509Cert,
orData: Uint8Array,
signData: Uint8Array,
) {
let verifyer = cryptoFramework.createVerify(“RSA1024|PKCS1|SHA1”);
await verifyer.init(cert.getPublicKey())
let result: boolean = await verifyer.verify({
data: orData,
}, {
data: signData
})
}

运行到

await verifyer.init(cert.getPublicKey()) 

就会崩溃, try / catch 捕获不了

log如下

Device info:HUAWEI Mate 60 Pro

Build info:ALN-AL80 5.0.0.25(SP36DEVC00E25R4P2log)

Fingerprint:77e003f7d4f1e4e7e63f02fe1b222c577d9df13a9bb9160e9282484c95cf0659

Module name:com.example.myapplication

Version:1.0.0

VersionCode:1000000

PreInstalled:No

Foreground:No

Timestamp:2024-06-26 17:25:04.827

Pid:18368

Uid:20020127

Process name:com.example.myapplication

Process life time:40s

Reason:Signal:SIGABRT(SI_TKILL)@0x01317b9f000047c0 from:18368:20020127

Fault thread info:

Tid:18368, Name:e.myapplication

#00 pc 0000000000197420 /system/lib/ld-musl-aarch64.so.1(raise+228)(280a864f87964e8138dabec5ed31180a)

#01 pc 0000000000145760 /system/lib/ld-musl-aarch64.so.1(abort+20)(280a864f87964e8138dabec5ed31180a)

#02 pc 000000000001c20c /system/lib64/module/security/libcert.z.so(cfi_check_fail+36)(ce14b6a58cffc257b002cb204d94cfc2)

#03 pc 000000000001d1a0 /system/lib64/module/security/libcert.z.so(cfi_check+416)(ce14b6a58cffc257b002cb204d94cfc2)

#04 pc 0000000000034550 /system/lib64/module/security/libcryptoframework_napi.z.so(OHOS::CryptoFramework::NapiVerify::JsInit(napi_env*, napi_callback_info) (.cfi)+844)(587da4ea001bcd7846a1a4a34bd5b446)

#05 pc 00000000000340cc /system/lib64/platformsdk/libace_napi.z.so(panda::JSValueRef ArkNativeFunctionCallBack<true>(panda::JsiRuntimeCallInfo)+220)(9cacfe19b71604ddfc0c17c9bb332f9d)

#06 pc 00000000002d6040 /system/lib64/module/arkcompiler/stub.an(RTStub_PushCallArgsAndDispatchNative+40)

#07 at verifyOriginAndSignStr (BaseUtil/src/main/ets/components/utils/CryptoUtils.ets:73:5)

1 回复

针对您提到的HarmonyOS鸿蒙系统中使用cryptoFramework.createVerify.init方法时出现的崩溃问题,这通常可能由以下几种原因引起:

  1. 参数错误:检查传递给init方法的参数是否正确,包括算法名称、密钥等。参数不匹配或格式错误可能导致初始化失败并引发崩溃。

  2. 资源限制:系统资源(如内存、CPU)不足时,尝试初始化加密验证操作可能因资源分配失败而崩溃。

  3. 版本兼容性问题:确保您的HarmonyOS版本与使用的cryptoFramework API版本兼容。API在不同版本间可能有变动,导致旧代码在新系统上不稳定。

  4. 系统Bug:系统本身可能存在未修复的Bug,影响cryptoFramework的正常功能。

  5. 权限不足:应用可能未获得执行加密操作的必要权限,导致在初始化时崩溃。

解决此类问题,通常需检查代码、系统日志及开发者文档,确认参数正确、资源充足、版本兼容、权限完整。同时,关注系统更新和开发者社区反馈,了解是否有已知问题或修复方案。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部