From 291d93327f345223e5c674035a11646d43884e56 Mon Sep 17 00:00:00 2001 From: shilei Date: Tue, 6 Dec 2022 19:27:59 +0800 Subject: [PATCH] fixed 8ee5703 from https://gitee.com/shilei91/security_appverify/pulls/147 add development mode Signed-off-by: shilei Change-Id: Ifcc1ab7c636e30ec3a4f64b215f02bf2250a716a --- .../appverify/src/provision/provision_verify.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/interfaces/innerkits/appverify/src/provision/provision_verify.cpp b/interfaces/innerkits/appverify/src/provision/provision_verify.cpp index c14442c..dd4d0e0 100644 --- a/interfaces/innerkits/appverify/src/provision/provision_verify.cpp +++ b/interfaces/innerkits/appverify/src/provision/provision_verify.cpp @@ -55,6 +55,7 @@ const string KEY_DEVICE_ID_TYPE = "device-id-type"; const string KEY_DEVICE_IDS = "device-ids"; const string KEY_ISSUER = "issuer"; const string KEY_APP_PRIVILEGE_CAPABILITIES = "app-privilege-capabilities"; +const string KEY_DEVELOPMENT_MODE = "const.product.developmentmode"; const string VALUE_TYPE_RELEASE = "release"; const string VALUE_DIST_TYPE_APP_GALLERY = "app_gallery"; const string VALUE_DIST_TYPE_ENTERPRISE = "enterprise"; @@ -63,9 +64,11 @@ const string VALUE_DIST_TYPE_CROWDTESTING = "crowdtesting"; const string VALUE_DEVICE_ID_TYPE_UDID = "udid"; const string GENERIC_BUNDLE_NAME = ".*"; +const string VALUE_DEVELOPMENT_MODE = "1"; const int32_t MAXIMUM_NUM_DEVICES = 100; const int32_t VERSION_CODE_TWO = 2; +const int32_t DEVELOPMENT_MODE_LENGTH = 2; inline void GetStringIfExist(const json& obj, const string& key, string& out) { @@ -291,7 +294,13 @@ AppProvisionVerifyResult ParseAndVerify(const string& appProvision, ProvisionInf if (ret != PROVISION_OK) { return ret; } - if (info.type == ProvisionType::DEBUG) { + const char *key = KEY_DEVELOPMENT_MODE.data(); + char developmentMode[DEVELOPMENT_MODE_LENGTH] = {0}; + GetParameter(key, nullptr, developmentMode, sizeof(developmentMode)); + const char *value = VALUE_DEVELOPMENT_MODE.data(); + bool isDevelopmentMode = (strcmp(developmentMode, value) == 0) ? true : false; + HAPVERIFY_LOG_DEBUG(LABEL, "Current development mode is %{public}d", isDevelopmentMode); + if (info.type == ProvisionType::DEBUG && !isDevelopmentMode) { ret = CheckDeviceID(info); if (ret != PROVISION_OK) { return ret; -- Gitee