HarmonyOS開發:應用完整性校驗

?簡介

為了確保應用的完整性和來源可靠,OpenHarmony需要對應用進行簽名和驗簽。

  • 應用開發階段:?開發者完成開發并生成安裝包后,需要開發者對安裝包進行簽名,以證明安裝包發布到設備的過程中沒有被篡改。OpenHarmony的應用完整性校驗模塊提供了簽名工具、簽名證書生成規范,以及簽名所需的公鑰證書等完整的機制,支撐開發者對應用安裝包簽名。為了方便開源社區開發者,版本中預置了公鑰證書和對應的私鑰,為開源社區提供離線簽名和校驗能力;在OpenHarmony商用版本中應替換此公鑰證書和對應的私鑰。

  • 應用安裝階段:?OpenHarmony用戶程序框架子系統負責應用的安裝。在接收到應用安裝包之后,應用程序框架子系統需要解析安裝包的簽名數據,然后使用應用完整性校驗模塊的API對簽名進行驗證,只有校驗成功之后才允許安裝此應用. 應用完整性校驗模塊在校驗安裝包簽名數據時,會使用系統預置的公鑰證書進行驗簽。

系統架構圖

圖 1?應用完整性校驗架構圖

  • 子系統間接口:?應用完整性校驗模塊給其他模塊提供的接口;

  • 完整性校驗:?通過驗簽,保障應用包完整性,防篡改;

  • 應用來源識別:?通過匹配簽名證書鏈與可信源列表,識別應用來源。

目錄

/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學習資料

總結
總的來說,華為鴻蒙不再兼容安卓,對中年程序員來說是一個挑戰,也是一個機會。只有積極應對變化,不斷學習和提升自己,他們才能在這個變革的時代中立于不敗之地。?

? ? ? ? ? ? ? ? ? ? ? ??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38110.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38110.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38110.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Foxit Reader與PDF交互性:探索高級功能

引言 PDF(Portable Document Format)文件格式以其跨平臺的一致性和豐富的多媒體支持而廣受歡迎。Foxit Reader作為一款功能全面的PDF閱讀器,不僅提供了基本的查看和導航功能,還支持PDF文件中的多種交互式元素。本文將深入探討Fox…

SQL Server中 MERGE 語句

在 SQL Server 中,MERGE 語句用于根據兩個表之間的條件來插入、更新或刪除記錄。它通常用于同步兩個表的數據,其中一個表是源表(包含要插入或更新的數據),另一個是目標表(數據要插入或更新的表)。 1、本文內容 語法參數備注觸發器的實現權限有關索引的最佳做法MERGE 的…

探索sklearn的貝葉斯奧秘:樸素貝葉斯分類器全解析

🚀 探索sklearn的貝葉斯奧秘:樸素貝葉斯分類器全解析 樸素貝葉斯分類器是一類基于貝葉斯定理的簡單概率分類器,它們在文本分類、垃圾郵件識別等領域表現出色。在Python的sklearn庫中,樸素貝葉斯分類器以其實現簡單和效率高效而受…

關于響應式編程的理解與SpringCloudGateway的理解

關于響應式編程的理解與SpringCloudGateway的理解 一. 響應式編程與函數式編程的區別二. 響應式編程中常用的組件2.1 RxJava定義2.2 Rxjava基本概念2.3 RxJava 用法 三 SpringcloudGateway四 常見的四種限流規則 一. 響應式編程與函數式編程的區別 總的來說,響應式編…

qt中的枚舉值-QMetaEnum

QMetaEnum 測試代碼hcpp 講解 測試代碼 h #include <QMainWindow> #include <QDebug>QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~M…

GPIO和PIN

文章目錄 1 GPIO和Pin1.1 GPIO和Pin基礎概念1.2 GPIO輸入模式1.3 GPIO輸出模式1.4 GPIO的HAL庫1.4.1 一些HAL庫表示1.4.2 HAL庫常用GPIO函數1.4.3 GPIO點亮led燈程序例子 1 GPIO和Pin 1.1 GPIO和Pin基礎概念 ? 單片機有很多的引腳&#xff0c;為了操控每一個引腳&#xff0c…

grpc學習golang版( 四、多服務示例 )

系列文章目錄 第一章 grpc基本概念與安裝 第二章 grpc入門示例 第三章 proto文件數據類型 第四章 多服務示例 第五章 多proto文件示例 第六章 服務器流式傳輸 第七章 客戶端流式傳輸 第八章 雙向流示例 文章目錄 一、前言二、定義proto文件三、編寫server服務端四、編寫Client客…

MySQL之可擴展性(九)

可擴展性 直接連接 2.修改應用的配置 還有一個分發負載的辦法是重新配置應用。例如&#xff0c;你可以配置多個機器來分擔生成大報表操作的負載。每臺機器可以配置成連接到不同的MySQL備庫&#xff0c;并為第N個用戶或網站生成報表。 這樣的系統很容易實現&#xff0c;但如果…

使用Python自動化收集和處理視頻資源的教程

在這篇教程中&#xff0c;我們將介紹如何利用Python腳本自動化收集和處理視頻資源。這篇文章將幫助您掌握基本的網絡自動化技術&#xff0c;并使用相關庫進行視頻資源的獲取和保存。以下是具體的實現步驟和代碼示例。 環境準備 在開始之前&#xff0c;請確保您的工作環境中已…

數據庫基礎教程

數據庫基礎教程 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;在本文中&#xff0c;我們將深入探討數據庫的基礎知識和操作&#xff0c;幫助您建立起扎實的數據…

Spring Boot集成jasypt快速入門Demo

1.什么是Jasypt&#xff1f; Jasypt&#xff08;Java Simplified Encryption&#xff09;是一個專注于簡化Java加密操作的工具。 它提供了一種簡單而強大的方式來處理數據的加密和解密&#xff0c;使開發者能夠輕松地保護應用程序中的敏感信息&#xff0c;如數據庫密碼、API密…

stl的map和set

概念 map和set底層都是紅黑樹 set是key模型結構&#xff0c;本質就是看一個元素在不在容器中。 map是key/value結構&#xff0c;里面存了一個pair結構&#xff0c;可以通過一個值來查找另外一個值 map和set結構中遍歷出來的都是有序并且去重了的&#xff0c;map和set都支持增…

Java高級重點知識點-17-異常

文章目錄 異常異常處理自定義異常 異常 指的是程序在執行過程中&#xff0c;出現的非正常的情況&#xff0c;最終會導致JVM的非正常停止。Java處 理異常的方式是中斷處理。 異常體系 異常的根類是 java.lang.Throwable&#xff0c;&#xff0c;其下有兩個子類&#xff1a;ja…

【QT】概述|對象樹模型|兩種控件模式|信號和槽|lambda

目錄 什么是QT 特點 QT程序 main函數 QT按鈕 純代碼模式 圖形化模式 對象樹模型 信號和槽 連接與斷開 自動連接 斷開連接 信號的發射 lambda表達式 基本語法 捕獲列表 Lambda表達式用于信號與槽的連接 例如 什么是QT Qt是一個跨平臺的C圖形用戶界面應用…

NeXT-Server 手動安裝

38 cd /home 使用 wget 下載你選擇的版本,https://go.dev/dl/ 找到適用于Linux的版本,你可以選擇 .tar.gz 格式的文件以用于Debian系統 39 wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz 40 tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz 42 echo ‘export PAT…

辦理河南公司企業信用等級3A證書流程和條件

企業信用等級3A證書屬于一種榮譽資質&#xff0c;是提升企業公信力和影響力保障的一項資質。信用等級是信用 (資信)評估機構根據企業資信評估結果對企業信用度劃分的等級類別&#xff0c;它反映了企業信用度的高低。AAA信用等級是一種等級劃分。代指企業的信用經過行業、機構評…

零成本搭建個人圖床服務器

前言 圖床服務器是一種用于存儲和管理圖片的服務器&#xff0c;可以給我們提供將圖片上傳后能外部訪問瀏覽的服務。這樣我們在寫文章時插入的說明圖片&#xff0c;就可以集中放到圖床里&#xff0c;既方便多平臺文章發布&#xff0c;又能統一管理和備份。 當然下面通過在 Git…

中藥材圖像識別:中醫與深度學習的融合(目標檢測)

親愛的讀者們&#xff0c;您是否在尋找某個特定的數據集&#xff0c;用于研究或項目實踐&#xff1f;歡迎您在評論區留言&#xff0c;或者通過公眾號私信告訴我&#xff0c;您想要的數據集的類型主題。小編會竭盡全力為您尋找&#xff0c;并在找到后第一時間與您分享。 一、引…

flink的窗口

目錄 窗口分類 1.按照驅動類型分類 1. 時間窗口&#xff08;Time window&#xff09; 2.計數窗口&#xff08;Count window&#xff09; 2.按照窗口分配數據的規則分類 窗口API分類 API調用 窗口分配器器&#xff1a; 窗口函數 增量聚合函數&#xff1a; 全窗口函數…

MySQL高級-MVCC-原理分析(RC級別)

文章目錄 1、RC隔離級別下&#xff0c;在事務中每一次執行快照讀時生成ReadView2、先來看第一次快照讀具體的讀取過程&#xff1a;3、再來看第二次快照讀具體的讀取過程: 1、RC隔離級別下&#xff0c;在事務中每一次執行快照讀時生成ReadView 我們就來分析事務5中&#xff0c;兩…