diff --git a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager.c b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager.c index 2189bb7f1fd6bd6c2e341e5f2c21e65f79bba568..a39e3f1c00e09541b7abfaf417bc383a285cf566 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager.c +++ b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager.c @@ -256,6 +256,10 @@ int32_t CmRemoveAppCert(const struct CmContext *context, const struct CmBlob *ke CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); return ret; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Remove cred level is ERROR_LEVEL, change to default level el1"); + } if (store == CM_CREDENTIAL_STORE) { ret = CmAuthDeleteAuthInfo(context, keyUri, level); @@ -417,6 +421,10 @@ static int32_t GetUriAndDeleteRdbData(const char *filePath, struct CmBlob *uriBl CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); return ret; } + if (*level == ERROR_LEVEL) { + *level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Delete rdb level is ERROR_LEVEL, change to default level el1"); + } ret = DeleteCertProperty((char *)uriBlob->data); if (ret != CM_SUCCESS) { diff --git a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_app_cert_process.c b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_app_cert_process.c index 486caef5ef2f3a11c0fc74919a6cd040872d62f9..aea36787c1a9aa117f8c8f8f49d9ec778a3b6739 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_app_cert_process.c +++ b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_app_cert_process.c @@ -480,11 +480,13 @@ static int32_t StoreKeyAndCert(const struct CmContext *context, const struct CmA level = param->level; break; case CM_CREDENTIAL_STORE: + /* If not found, specify the level el2 */ if (level == ERROR_LEVEL) { level = CM_AUTH_STORAGE_LEVEL_EL2; } break; default: + /* whether you find it or not, specify the level el1 */ level = CM_AUTH_STORAGE_LEVEL_EL1; break; } diff --git a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_auth_mgr.c b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_auth_mgr.c index 85e2a6d6c9142060753398fa338312ada8311cb1..b46074b4e1b03be035b15ae33d66698bb15d0fef 100755 --- a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_auth_mgr.c +++ b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_auth_mgr.c @@ -364,6 +364,10 @@ int32_t CmAuthGrantAppCertificate(const struct CmContext *context, const struct CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); break; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("grant level is ERROR_LEVEL, change to default level el1"); + } ret = CheckCallerIsProducer(context, &uriObj); if (ret != CM_SUCCESS) { @@ -534,6 +538,10 @@ int32_t CmAuthIsAuthorizedApp(const struct CmContext *context, const struct CmBl CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); break; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Is authed app level is ERROR_LEVEL, change to default level el1"); + } ret = CheckIsAuthorizedApp(&uriObj, level); if (ret != CM_SUCCESS) { @@ -566,6 +574,10 @@ int32_t CmAuthRemoveGrantedApp(const struct CmContext *context, const struct CmB CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); break; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Remove granted app level is ERROR_LEVEL, change to default level el1"); + } ret = CheckCallerIsProducer(context, &uriObj); if (ret != CM_SUCCESS) { @@ -676,6 +688,10 @@ int32_t CmAuthDeleteAuthInfoByUserId(uint32_t userId, const struct CmBlob *uri) CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); break; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Delete auth user level is ERROR_LEVEL, change to default level el1"); + } ret = DeleteAuthInfo(userId, uri, &appUidList, level); if (ret != CM_SUCCESS) { @@ -719,6 +735,10 @@ int32_t CmAuthDeleteAuthInfoByUid(uint32_t userId, uint32_t targetUid, const str CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); break; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Delete auth app level is ERROR_LEVEL, change to default level el1"); + } uint32_t appUid[] = { targetUid }; struct CmAppUidList appUidList = { sizeof(appUid) / sizeof(uint32_t), appUid }; @@ -747,6 +767,10 @@ static int32_t CheckCommonPermission(const struct CmContext *context, const stru CM_LOG_E("get rdb auth storage level failed, ret = %d", ret); return ret; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Check permission level is ERROR_LEVEL, change to default level el1"); + } ret = CheckCallerIsProducer(context, uriObj); if (ret == CM_SUCCESS) { diff --git a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_query.c b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_query.c index af749688dba484d76f4eb76055ef23e3fb3a5048..ee3d411f81fda6b469e13cb33e53d301b2b9eec5 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_query.c +++ b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_query.c @@ -660,13 +660,16 @@ int32_t GetRdbAuthStorageLevel(const struct CmBlob *keyUri, enum CmAuthStorageLe struct CertProperty certProp; (void)memset_s(&certProp, sizeof(struct CertProperty), 0, sizeof(struct CertProperty)); + /* Even if the queried data is empty, the return value is also success, + * this value is used to determine whether the query is successful + */ certProp.level = ERROR_LEVEL; int32_t ret = QueryCertProperty((char *)keyUri->data, &certProp); if (ret != CM_SUCCESS) { CM_LOG_E("Failed to QueryCertProperty, ret: %d", ret); return ret; } - /* If the return value of level is ERROR_LEVEL, nothing is found */ + *level = certProp.level; return ret; diff --git a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_service.c b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_service.c index 45be9902a1aac67be4c04085fb4ab85a60462080..835b06f0278bfc210b11a09d5fd1018871d33064 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_service.c +++ b/services/cert_manager_standard/cert_manager_engine/main/core/src/cert_manager_service.c @@ -294,6 +294,10 @@ int32_t CmServiceInit(const struct CmContext *context, const struct CmBlob *auth CM_FREE_PTR(commonUri.data); return ret; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Init level is ERROR_LEVEL, change to default level el1"); + } ret = CmKeyOpInit(context, &commonUri, spec, level, handle); CM_FREE_PTR(commonUri.data); diff --git a/services/cert_manager_standard/cert_manager_engine/main/core/src/cm_event_process.c b/services/cert_manager_standard/cert_manager_engine/main/core/src/cm_event_process.c index 12064eb2794912b99b86904e9ad65fc69b158864..7d61237c821c98cc705c7676c56dfa6a7aa54a7f 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/core/src/cm_event_process.c +++ b/services/cert_manager_standard/cert_manager_engine/main/core/src/cm_event_process.c @@ -66,6 +66,10 @@ static int32_t CmTraversalDirActionCredential(const char *filePath, const char * CM_LOG_E("get storage level failed, ret: %d", ret); return ret; } + if (level == ERROR_LEVEL) { + level = CM_AUTH_STORAGE_LEVEL_EL1; + CM_LOG_I("Traversal dir level is ERROR_LEVEL, change to default level el1"); + } ret = CmKeyOpDeleteKey(&keyUri, level); if (ret != CM_SUCCESS) { /* ignore the return of delete key */ diff --git a/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_cert_property_rdb.cpp b/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_cert_property_rdb.cpp index 31c0a3da255f8b137ea9cde1a4a0a9a2ed95e555..40768f5afd0dcec3ce5efea17b4824ffba22a79d 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_cert_property_rdb.cpp +++ b/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_cert_property_rdb.cpp @@ -248,7 +248,7 @@ int32_t QueryCertProperty(const char *uri, struct CertProperty *certProperty) return CMR_ERROR_QUERY_RDB_DATA_FAIL; } if (rowCount <= 0) { - CM_LOG_D("Finish to query, cert: %s does not exist in the database", uri); + CM_LOG_I("Finish to query, cert: %s does not exist in the database", uri); return CM_SUCCESS; } diff --git a/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_open_callback.cpp b/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_open_callback.cpp index 2f17106be61234cb3ba28d5bf22b0c9a751d5246..eb3466da8166f09807ab1abd7d8669d30c1a28b8 100644 --- a/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_open_callback.cpp +++ b/services/cert_manager_standard/cert_manager_engine/main/rdb/src/cm_rdb_open_callback.cpp @@ -26,31 +26,32 @@ CmRdbOpenCallback::CmRdbOpenCallback(const RdbConfig &rdbConfig) : rdbConfig_(rd int32_t CmRdbOpenCallback::OnCreate(NativeRdb::RdbStore &rdbStore) { - CM_LOG_D("CmRdbOpenCallback OnCreate"); + CM_LOG_I("CmRdbOpenCallback OnCreate"); return NativeRdb::E_OK; } int32_t CmRdbOpenCallback::OnUpgrade(NativeRdb::RdbStore &rdbStore, int currentVersion, int targetVersion) { - CM_LOG_D("CmRdbOpenCallback OnUpgrade : database upgrade. currentVersion = %{public}d, newVersion = %{public}d", + CM_LOG_I("CmRdbOpenCallback OnUpgrade : database upgrade. currentVersion = %{public}d, newVersion = %{public}d", currentVersion, targetVersion); /* Upgrade the database: Add the AUTH_STORAGE_LEVEL column with a default value of 1 (EL1). */ if (currentVersion == RDB_VERSION_FIRST && targetVersion == RDB_VERSION_CURRENT) { - rdbStore.ExecuteSql("ALTER TABLE " + CERT_PROPERTY_TABLE_NAME + " ADD COLUMN " + + int32_t ret = rdbStore.ExecuteSql("ALTER TABLE " + CERT_PROPERTY_TABLE_NAME + " ADD COLUMN " + COLUMN_AUTH_STORAGE_LEVEL + " INTEGER DEFAULT 1;"); + CM_LOG_I("Upgrade execute sql ret: %d", ret); } return NativeRdb::E_OK; } int32_t CmRdbOpenCallback::OnDowngrade(NativeRdb::RdbStore &rdbStore, int currentVersion, int targetVersion) { - CM_LOG_D("CmRdbOpenCallback OnDowngrade"); + CM_LOG_I("CmRdbOpenCallback OnDowngrade"); return NativeRdb::E_OK; } int32_t CmRdbOpenCallback::OnOpen(NativeRdb::RdbStore &rdbStore) { - CM_LOG_D("CmRdbOpenCallback OnOpen"); + CM_LOG_I("CmRdbOpenCallback OnOpen"); return NativeRdb::E_OK; } } // namespace CertManager