diff --git a/interfaces/innerkits/appverify/include/provision/provision_info.h b/interfaces/innerkits/appverify/include/provision/provision_info.h index f33232ae1fc465741ffee77b7106c3bb95f57d10..d1c59eb09c2ee02230f9ee1fb4b5d415b2ac417a 100644 --- a/interfaces/innerkits/appverify/include/provision/provision_info.h +++ b/interfaces/innerkits/appverify/include/provision/provision_info.h @@ -100,6 +100,7 @@ struct ProvisionInfo { std::unique_ptr profileBlock; std::string appServiceCapabilities; std::string organization; + bool isOpenHarmony = false; }; } // namespace Verify } // namespace Security diff --git a/interfaces/innerkits/appverify/src/provision/provision_info.cpp b/interfaces/innerkits/appverify/src/provision/provision_info.cpp index 5ab00d2fbe25255b113c8f5a4cdc12d8c1d324cb..3b3896d8f5c612e2eab9d0b84b7bb4f172bd95b3 100644 --- a/interfaces/innerkits/appverify/src/provision/provision_info.cpp +++ b/interfaces/innerkits/appverify/src/provision/provision_info.cpp @@ -72,6 +72,7 @@ ProvisionInfo &ProvisionInfo::operator=(const ProvisionInfo &info) } this->appServiceCapabilities = info.appServiceCapabilities; this->organization = info.organization; + this->isOpenHarmony = info.isOpenHarmony; return *this; } } // namespace Verify diff --git a/interfaces/innerkits/appverify/src/verify/hap_verify_v2.cpp b/interfaces/innerkits/appverify/src/verify/hap_verify_v2.cpp index 06a4c09096300a7c5d1141f621c8810686ecbf9e..e8a62c1e078db1cf3d4fe03f587ab46a229b895d 100644 --- a/interfaces/innerkits/appverify/src/verify/hap_verify_v2.cpp +++ b/interfaces/innerkits/appverify/src/verify/hap_verify_v2.cpp @@ -40,6 +40,7 @@ const int32_t HapVerifyV2::DIGEST_OFFSET_IN_CONTENT = 20; const std::string HapVerifyV2::HAP_APP_PATTERN = "[^]*.hap$"; const std::string HapVerifyV2::HQF_APP_PATTERN = "[^]*.hqf$"; const std::string HapVerifyV2::HSP_APP_PATTERN = "[^]*.hsp$"; +const std::string OPENHARMONY_CERT = "C=CN, O=OpenHarmony, OU=OpenHarmony Team, CN=OpenHarmony Application Root CA"; int32_t HapVerifyV2::Verify(const std::string& filePath, HapVerifyResult& hapVerifyV1Result, bool readFile) { @@ -232,6 +233,7 @@ bool HapVerifyV2::VerifyAppSourceAndParseProfile(Pkcs7Context& pkcs7Context, } SetOrganization(provisionInfo); SetProfileBlockData(pkcs7Context, hapProfileBlock, provisionInfo); + provisionInfo.isOpenHarmony = OPENHARMONY_CERT == pkcs7Context.rootCa; hapVerifyV1Result.SetProvisionInfo(provisionInfo); profileNeadWriteCrl = profileContext.needWriteCrl;