From 5c7b92a6ad8c71955c51dccb08a5705bb7c156c6 Mon Sep 17 00:00:00 2001 From: 18242988924 Date: Fri, 29 Dec 2023 03:19:17 +0000 Subject: [PATCH] emulator signature adapt Signed-off-by: 18242988924 Change-Id: I927742c93c4fdfead6fa6ab7fee214de92344eca --- interfaces/innerkits/appverify/BUILD.gn | 4 ++++ .../innerkits/appverify/src/provision/provision_verify.cpp | 4 ++++ .../appverify/src/util/hap_cert_verify_openssl_utils.cpp | 3 +-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/interfaces/innerkits/appverify/BUILD.gn b/interfaces/innerkits/appverify/BUILD.gn index c93351c..613eea9 100644 --- a/interfaces/innerkits/appverify/BUILD.gn +++ b/interfaces/innerkits/appverify/BUILD.gn @@ -84,6 +84,10 @@ if (os_level == "standard") { subsystem_name = "security" defines += [ "OPENSSL_SUPPRESS_DEPRECATED" ] + + if (is_emulator) { + defines += [ "X86_EMULATOR_MODE" ] + } } } else { group("libhapverify") { diff --git a/interfaces/innerkits/appverify/src/provision/provision_verify.cpp b/interfaces/innerkits/appverify/src/provision/provision_verify.cpp index 8f1cd82..74b7a6d 100644 --- a/interfaces/innerkits/appverify/src/provision/provision_verify.cpp +++ b/interfaces/innerkits/appverify/src/provision/provision_verify.cpp @@ -80,7 +80,9 @@ const string VALUE_DEVELOPMENT_MODE = "1"; const int32_t MAXIMUM_NUM_DEVICES = 100; const int32_t VERSION_CODE_TWO = 2; +#ifndef X86_EMULATOR_MODE const int32_t DEVELOPMENT_MODE_LENGTH = 2; +#endif inline void GetStringIfExist(const json& obj, const string& key, string& out) { @@ -349,6 +351,7 @@ AppProvisionVerifyResult ParseAndVerify(const string& appProvision, ProvisionInf if (ret != PROVISION_OK) { return ret; } +#ifndef X86_EMULATOR_MODE const char *key = KEY_DEVELOPMENT_MODE.data(); char developmentMode[DEVELOPMENT_MODE_LENGTH] = {0}; GetParameter(key, nullptr, developmentMode, sizeof(developmentMode)); @@ -362,6 +365,7 @@ AppProvisionVerifyResult ParseAndVerify(const string& appProvision, ProvisionInf return ret; } } +#endif HAPVERIFY_LOG_DEBUG(LABEL, "Leave HarmonyAppProvision Verify"); return PROVISION_OK; } diff --git a/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp b/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp index b62faec..4600aeb 100644 --- a/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp +++ b/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp @@ -174,8 +174,7 @@ bool HapCertVerifyOpensslUtils::GetPublickeyBase64(const X509* cert, std::string */ int32_t HapCertVerifyOpensslUtils::CalculateLenAfterBase64Encode(int32_t len) { - return static_cast(ceil(static_cast(len) / BASE64_ENCODE_PACKET_LEN) * - BASE64_ENCODE_LEN_OF_EACH_GROUP_DATA + 1); + return (len + BASE64_ENCODE_PACKET_LEN - 1) / BASE64_ENCODE_PACKET_LEN * BASE64_ENCODE_LEN_OF_EACH_GROUP_DATA + 1; } bool HapCertVerifyOpensslUtils::CompareX509Cert(const X509* certA, const std::string& base64Cert) -- Gitee