From 5598cff5ca113591efd16ff2b6957baba0d85e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=9B=E6=99=93=E5=AE=87?= Date: Sat, 2 Aug 2025 09:43:14 +0800 Subject: [PATCH 1/3] add switch to hap verify in parallel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 丛晓宇 --- .../appverify/include/util/hap_signing_block_utils.h | 1 + .../appverify/src/util/hap_signing_block_utils.cpp | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/interfaces/innerkits/appverify/include/util/hap_signing_block_utils.h b/interfaces/innerkits/appverify/include/util/hap_signing_block_utils.h index d5c44b0..b91679b 100644 --- a/interfaces/innerkits/appverify/include/util/hap_signing_block_utils.h +++ b/interfaces/innerkits/appverify/include/util/hap_signing_block_utils.h @@ -117,6 +117,7 @@ private: static bool ParseSignBlockHead(HapSignBlockHead& hapSignBlockHead, HapByteBuffer& hapBlockHead); static bool ParseSubSignBlockHead(HapSubSignBlockHead& subSignBlockHead, HapByteBuffer& hapBlockHead); static bool CheckSignBlockHead(const HapSignBlockHead& hapSignBlockHead); + static bool HapVerifyParallelizationSupported(); }; } // namespace Verify } // namespace Security diff --git a/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp b/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp index 693c4f3..7a74702 100644 --- a/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp +++ b/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp @@ -17,6 +17,8 @@ #include #include +#include +#include #include #include @@ -451,7 +453,7 @@ bool HapSigningBlockUtils::VerifyHapIntegrity( chunkDigest.SetCapacity(sumOfChunksLen); chunkDigest.PutByte(0, ZIP_FIRST_LEVEL_CHUNK_PREFIX); chunkDigest.PutInt32(1, chunkCount); - if (contentsZipSize <= SMALL_FILE_SIZE) { + if (!HapVerifyParallelizationSupported() || contentsZipSize <= SMALL_FILE_SIZE) { // No parallel for small size <= 2MB. int32_t offset = ZIP_CHUNK_DIGEST_PRIFIX_LEN; if (!ComputeDigestsForDataSourceArray(digestParam, content, ZIP_BLOCKS_NUM_NEED_DIGEST, chunkDigest, offset)) { @@ -662,6 +664,11 @@ bool HapSigningBlockUtils::InitDigestPrefix(const DigestParameter& digestParam, } return true; } + +bool HapSigningBlockUtils::HapVerifyParallelizationSupported() +{ + return system::GetParameter("const.appverify.hap_verify_parallel", "false") == "true"; +} } // namespace Verify } // namespace Security } // namespace OHOS -- Gitee From aafd78a8ef169e4087d570bdd17b9b36e5b9051c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=9B=E6=99=93=E5=AE=87?= Date: Sat, 2 Aug 2025 10:33:04 +0800 Subject: [PATCH 2/3] remove unused import MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 丛晓宇 --- .../innerkits/appverify/src/util/hap_signing_block_utils.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp b/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp index 7a74702..9d1288b 100644 --- a/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp +++ b/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp @@ -17,7 +17,6 @@ #include #include -#include #include #include #include -- Gitee From 54cb338e745bab46abd3b00da9cb9ca4fbe264b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=9B=E6=99=93=E5=AE=87?= Date: Sat, 2 Aug 2025 11:11:06 +0800 Subject: [PATCH 3/3] update getParameter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 丛晓宇 --- .../innerkits/appverify/src/util/hap_signing_block_utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp b/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp index 9d1288b..5e1cbad 100644 --- a/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp +++ b/interfaces/innerkits/appverify/src/util/hap_signing_block_utils.cpp @@ -666,7 +666,7 @@ bool HapSigningBlockUtils::InitDigestPrefix(const DigestParameter& digestParam, bool HapSigningBlockUtils::HapVerifyParallelizationSupported() { - return system::GetParameter("const.appverify.hap_verify_parallel", "false") == "true"; + return OHOS::system::GetBoolParameter("const.appverify.hap_verify_parallel", false); } } // namespace Verify } // namespace Security -- Gitee