?簡介
為了確保應用的完整性和來源可靠,OpenHarmony需要對應用進行簽名和驗簽。
-
應用開發階段:?開發者完成開發并生成安裝包后,需要開發者對安裝包進行簽名,以證明安裝包發布到設備的過程中沒有被篡改。OpenHarmony的應用完整性校驗模塊提供了簽名工具、簽名證書生成規范,以及簽名所需的公鑰證書等完整的機制,支撐開發者對應用安裝包簽名。為了方便開源社區開發者,版本中預置了公鑰證書和對應的私鑰,為開源社區提供離線簽名和校驗能力;在OpenHarmony商用版本中應替換此公鑰證書和對應的私鑰。
-
應用安裝階段:?OpenHarmony用戶程序框架子系統負責應用的安裝。在接收到應用安裝包之后,應用程序框架子系統需要解析安裝包的簽名數據,然后使用應用完整性校驗模塊的API對簽名進行驗證,只有校驗成功之后才允許安裝此應用. 應用完整性校驗模塊在校驗安裝包簽名數據時,會使用系統預置的公鑰證書進行驗簽。
系統架構圖
-
子系統間接口:?應用完整性校驗模塊給其他模塊提供的接口;
-
完整性校驗:?通過驗簽,保障應用包完整性,防篡改;
-
應用來源識別:?通過匹配簽名證書鏈與可信源列表,識別應用來源。
目錄
/base/security/appverify ├── interfaces/innerkits/appverify # 應用完整性校驗模塊代碼 │ ├── config # 應用簽名根證書和可信源列表配置文件存放目錄 │ ├── include # 頭文件存放目錄 │ ├── src # 源代碼存放目錄 │ ├── test # 模塊自動化測試用例存放目錄 ├── test/resource # 測試資源存放目錄
約束
應用完整性校驗在OpenHarmony中使用的證書,是專為OpenHarmony生成的,涉及的公鑰證書和對應的私鑰均預置在OpenHarmony開源代碼倉中,為開源社區提供離線簽名和校驗能力;在商用版本中應替換此公鑰證書和對應的私鑰。
說明
應用完整性校驗模塊提供一個子系統間接口,由包管理服務在安裝應用時調用。
接口說明
接口名 | |
---|---|
int32_t HapVerify(const std::string& filePath, HapVerifyResult& hapVerifyResult) |
使用說明
應用完整性校驗提供的是子系統間接口,僅提供底層能力,不對開發者開放。以應用文件路徑作為輸入,調用HapVerify接口即可校驗應用完整性,通過接口返回值可以獲取校驗結果,通過引用傳參hapVerifyResult獲取簽名相關信息。
Security::Verify::HapVerifyResult verifyResult;
int32_t res = Security::Verify::HapVerify(hapPath, verifyResult);
if (res != Security::Verify::HapVerifyResultCode::VERIFY_SUCCESS) {// processing error
}
最后
有很多小伙伴不知道學習哪些鴻蒙開發技術?不知道需要重點掌握哪些鴻蒙應用開發知識點?但是又不知道從哪里下手,而且學習時頻繁踩坑,最終浪費大量時間。所以本人整理了一些比較合適的鴻蒙(HarmonyOS NEXT)學習路徑和一些資料的整理供小伙伴學習
點擊領取→純血鴻蒙Next全套最新學習資料(安全鏈接,放心點擊)
希望這一份鴻蒙學習資料能夠給大家帶來幫助,有需要的小伙伴自行領取,限時開源,先到先得~無套路領取!!
一、鴻蒙(HarmonyOS NEXT)最新學習路線
?
有了路線圖,怎么能沒有學習資料呢,小編也準備了一份聯合鴻蒙官方發布筆記整理收納的一套系統性的鴻蒙(OpenHarmony )學習手冊(共計1236頁)與鴻蒙(OpenHarmony )開發入門教學視頻,內容包含:(ArkTS、ArkUI開發組件、Stage模型、多端部署、分布式應用開發、音頻、視頻、WebGL、OpenHarmony多媒體技術、Napi組件、OpenHarmony內核、Harmony南向開發、鴻蒙項目實戰等等)鴻蒙(HarmonyOS NEXT)…等技術知識點。
獲取以上完整版高清學習路線,請點擊→純血版全套鴻蒙HarmonyOS學習資料
二、HarmonyOS?Next 最新全套視頻教程
?
三、《鴻蒙 (OpenHarmony)開發基礎到實戰手冊》
OpenHarmony北向、南向開發環境搭建
?
《鴻蒙開發基礎》
- ArkTS語言
- 安裝DevEco Studio
- 運用你的第一個ArkTS應用
- ArkUI聲明式UI開發
- .……
?
《鴻蒙開發進階》
- Stage模型入門
- 網絡管理
- 數據管理
- 電話服務
- 分布式應用開發
- 通知與窗口管理
- 多媒體技術
- 安全技能
- 任務管理
- WebGL
- 國際化開發
- 應用測試
- DFX面向未來設計
- 鴻蒙系統移植和裁剪定制
- ……
?
《鴻蒙進階實戰》
- ArkTS實踐
- UIAbility應用
- 網絡案例
- ……
?
四、大廠面試必問面試題
?
五、鴻蒙南向開發技術
?
六、鴻蒙APP開發必備
?
七、鴻蒙生態應用開發白皮書V2.0PDF
?
完整鴻蒙HarmonyOS學習資料,請點擊→純血版全套鴻蒙HarmonyOS學習資料
總結
總的來說,華為鴻蒙不再兼容安卓,對中年程序員來說是一個挑戰,也是一個機會。只有積極應對變化,不斷學習和提升自己,他們才能在這個變革的時代中立于不敗之地。?
? ? ? ? ? ? ? ? ? ? ? ??