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 1979dbdae866527d4e6781cff038c70f00de3f9f..325a13f6d24fd560bc970c43e0c1c9faa70c4cb0 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 3739183b1a449f5553aef35c9cc4d17621337fc5..e7365440ba4353c2b5cc913c44dd3a2aac494773 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);