From 88dc071e00bce79a1afe3e9b5797a9aa695e0c67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=8C=E8=90=8C=E8=90=8C=E6=96=B0?= Date: Fri, 18 Apr 2025 16:56:56 +0800 Subject: [PATCH] adapt 5.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 萌萌萌新 --- frameworks/cj/include/crypto_ffi.h | 3 ++- frameworks/cj/src/crypto_ffi.cpp | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/frameworks/cj/include/crypto_ffi.h b/frameworks/cj/include/crypto_ffi.h index c1ff81e..18a987b 100644 --- a/frameworks/cj/include/crypto_ffi.h +++ b/frameworks/cj/include/crypto_ffi.h @@ -85,7 +85,8 @@ extern "C" { FFI_EXPORT int32_t FfiOHOSCipherUpdate(int64_t id, HcfBlob *input, HcfBlob *output); FFI_EXPORT int32_t FfiOHOSCipherDoFinal(int64_t id, HcfBlob *input, HcfBlob *output); FFI_EXPORT int32_t FfiOHOSSetCipherSpec(int64_t id, int32_t item, HcfBlob pSource); - FFI_EXPORT char *FfiOHOSGetCipherSpecString(int64_t id, int32_t item, int32_t *errCode); + FFI_EXPORT int32_t FfiOHOSGetCipherSpecString(int64_t id, int32_t item, char **returnString); + FFI_EXPORT char *FfiOHOSGetCipherSpecStringV2(int64_t id, int32_t item, int32_t *errCode); FFI_EXPORT int32_t FfiOHOSGetCipherSpecUint8Array(int64_t id, int32_t item, HcfBlob *returnUint8Array); FFI_EXPORT const char *FfiOHOSCipherGetAlgName(int64_t id, int32_t* errCode); diff --git a/frameworks/cj/src/crypto_ffi.cpp b/frameworks/cj/src/crypto_ffi.cpp index 75e038f..b825a97 100644 --- a/frameworks/cj/src/crypto_ffi.cpp +++ b/frameworks/cj/src/crypto_ffi.cpp @@ -552,7 +552,21 @@ namespace OHOS { return res; } - char *FfiOHOSGetCipherSpecString(int64_t id, int32_t item, int32_t *errCode) + int32_t FfiOHOSGetCipherSpecString(int64_t id, int32_t item, char **returnString) + { + LOGD("[Cipher] FfiOHOSGetCipherSpecString start"); + auto instance = FFIData::GetData(id); + if (!instance) { + LOGE("[Cipher] instance not exist."); + return HCF_ERR_MALLOC; + } + CipherSpecItem specItem = CipherSpecItem(item); + HcfResult res = instance->GetCipherSpecString(specItem, returnString); + LOGD("[Cipher] FfiOHOSGetCipherSpecString success"); + return res; + } + + char *FfiOHOSGetCipherSpecStringV2(int64_t id, int32_t item, int32_t *errCode) { LOGD("[Cipher] FfiOHOSGetCipherSpecString start"); auto instance = FFIData::GetData(id); -- Gitee