From 08ecff54c3224145e25901dca43692dc0354f930 Mon Sep 17 00:00:00 2001 From: xujie Date: Thu, 11 Apr 2024 18:33:41 +0800 Subject: [PATCH] update hash value to HksImportKey Signed-off-by: xujie --- .../cert_manager_standard/main/include/cm_type.h | 2 +- .../main/core/src/cert_manager_key_operation.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/interfaces/innerkits/cert_manager_standard/main/include/cm_type.h b/interfaces/innerkits/cert_manager_standard/main/include/cm_type.h index 1979dbd..325a13f 100644 --- a/interfaces/innerkits/cert_manager_standard/main/include/cm_type.h +++ b/interfaces/innerkits/cert_manager_standard/main/include/cm_type.h @@ -54,7 +54,7 @@ extern "C" { #define MAX_LEN_APP_CERT 20480 #define MAX_LEN_APP_CERT_PASSWD 33 /* 32位密码 + 1位结束符 */ -#define CERT_MAX_PATH_LEN 256 +#define CERT_MAX_PATH_LEN 512 #define CM_ARRAY_SIZE(arr) ((sizeof(arr)) / (sizeof((arr)[0]))) /* diff --git a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_key_operation.c b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_key_operation.c index 3739183..e736544 100755 --- a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_key_operation.c +++ b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_key_operation.c @@ -15,6 +15,7 @@ #include "cert_manager_key_operation.h" +#include "cert_manager_crypto_operation.h" #include "cert_manager_mem.h" #include "cert_manager_session_mgr.h" #include "cm_log.h" @@ -55,6 +56,7 @@ static struct PropertyToHuks g_cmDigestProperty[] = { #define INVALID_PROPERTY_VALUE 0xFFFF #define DEFAULT_LEN_USED_FOR_MALLOC 1024 +#define MAX_DIGEST_LEN 64 static int32_t ConstructParamSet(const struct HksParam *params, uint32_t paramCount, struct HksParamSet **outParamSet) { @@ -194,7 +196,12 @@ int32_t CmKeyOpImportKey(const struct CmBlob *alias, const struct CmKeyPropertie return CMR_ERROR_KEY_OPERATION_FAILED; } - struct HksBlob keyAlias = { alias->size, alias->data }; + uint8_t tempBuf[MAX_DIGEST_LEN] = { 0 }; + struct CmBlob nameDigest = { sizeof(tempBuf), tempBuf }; + struct CmBlob certName = { alias->size, alias->data }; + (void)CmGetHash(&certName, &nameDigest); + + struct HksBlob keyAlias = { nameDigest.size, nameDigest.data }; struct HksBlob key = { keyPair->size, keyPair->data }; ret = HksImportKey(&keyAlias, paramSet, &key); HksFreeParamSet(¶mSet); -- Gitee