HarmonyOS 鸿蒙Next cryptoFramework.createVerify.init 崩溃
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)
针对您提到的HarmonyOS鸿蒙系统中使用cryptoFramework.createVerify.init方法时出现的崩溃问题,这通常可能由以下几种原因引起:
-
参数错误:检查传递给init方法的参数是否正确,包括算法名称、密钥等。参数不匹配或格式错误可能导致初始化失败并引发崩溃。
-
资源限制:系统资源(如内存、CPU)不足时,尝试初始化加密验证操作可能因资源分配失败而崩溃。
-
版本兼容性问题:确保您的HarmonyOS版本与使用的cryptoFramework API版本兼容。API在不同版本间可能有变动,导致旧代码在新系统上不稳定。
-
系统Bug:系统本身可能存在未修复的Bug,影响cryptoFramework的正常功能。
-
权限不足:应用可能未获得执行加密操作的必要权限,导致在初始化时崩溃。
解决此类问题,通常需检查代码、系统日志及开发者文档,确认参数正确、资源充足、版本兼容、权限完整。同时,关注系统更新和开发者社区反馈,了解是否有已知问题或修复方案。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html