偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

安全子系統(tǒng)之應用簽名與驗簽

系統(tǒng)
這是一篇講解如何生成已經(jīng)簽名的hap包和簽名以及驗簽流程的文章。

[[442372]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區(qū)

https://harmonyos.51cto.com

Guide

這是一篇講解如何生成已經(jīng)簽名的hap包和簽名以及驗簽流程的文章。

一,應用簽名與驗簽的場景

應用開發(fā)階段:保證安裝包發(fā)布到設備的過程中沒有被篡改,應用完整性校驗提供了簽名工具,簽名證書生成規(guī)范,公鑰等完整的工具支持我們對自己開發(fā)的hap安裝包進行簽名。

應用安裝階段:系統(tǒng)的用戶程序框架子系統(tǒng)在接受安裝包之后對hap包進行數(shù)據(jù)解析,通過應用完整性校驗模塊的API對簽名進行驗證,校驗成功后才允許安裝此hap包。應用完整性校驗模塊在校驗簽名數(shù)據(jù)時,會使用系統(tǒng)預置的公鑰證書進行校驗。

二,應用驗簽的流程

hap包的組成圖如下:

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

可以看到,經(jīng)過簽名的hap包組成多了簽名塊組成部分

1.整包驗簽

整包簽名數(shù)據(jù)塊是一個PKCS7格式的簽名塊(signed data),驗簽過程包括PKSC7簽名驗證、哈希比較、證書鏈驗證以及證書鏈與設備預置根證書的匹配校驗。

2.授權文件驗簽

授權文件數(shù)據(jù)塊是一個PKCS7格式的簽名塊(signed data),其中PKCS7簽名塊的內(nèi)容信息(contentinfo)是授權文件的內(nèi)容。驗簽過程包括:PKCS7簽名驗證、哈希比較、證書鏈驗證以及簽發(fā)授權文件證書的合法性校驗。

3.授權文件內(nèi)容校驗

驗簽模塊將對授權文件內(nèi)容進行合法性檢查。如果授權文件是調(diào)試類型,則會比對本機UDID是否在授權文件授權調(diào)試的UDID列表中,如果本機UDID在授權文件授權調(diào)試的UDID列表中,則會進一步比較授權文件中的調(diào)試證書和整包簽名使用的證書是否相同,如果相同,則驗證通過。

二,應用簽名流程

流程圖如下:

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

1.生成密鑰和證書請求文件:Build > Generate Key and CSR

1.1 使用DevEcoStudio

1.1.1 如果是首次生成密鑰文件*.p12點擊new,如果本地已有點擊choose existing

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

1.1.2 選擇密鑰文件存儲路徑,設置密碼(密碼由數(shù)字符號和字母組成)

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

1.1.3 在Gernrete Key填寫密鑰信息

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

1.1.4 生成csr證書請求文件*.csr,選擇文件存儲路徑即可

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

1.1.5 最后在文件存儲路徑下生成以下兩個文件

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

1.2 使用命令行

1.2.1 用管理員權限打開命令行工具并進到OpenJDK攜帶的KeyTool工具路徑下

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

1.2.2 執(zhí)行如下命令生成密鑰p12

  1. keytool -genkeypair -alias “myApplication_ohos” -keyalg EC -sigalg SHA256withECDSA -dname “C=CN,O=HUAWEI,OU=HUAWEI IDE,CN=myApplication_ohos” -keystore d:\key\myApplication_ohos.p12 -storetype pkcs12 -validity 9125 -storepass 123456Abc -keypass 123456Abc 

1.2.3 執(zhí)行如下命令生成證書請求文件csr

  1. keytool -certreq -alias “myApplicaiton_ohos” -keystore d:\key\myApplication_ohos.p12 -storetype pkcs12 -file d:\key\myApplication_ohos.csr 

2.生成應用證書文件

2.1 將keytool加到系統(tǒng)環(huán)境變量并進到Sdk\toolchains\lib目錄下

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

2.2 執(zhí)行如下命令生成應用證書cer

  1. keytool -gencert -alias “OpenHarmony Application CA” -infile d:\key\myApplication_ohos.csr -outfile d:\key\myApplication_ohos.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:“critical=digitalSignature” -validity 3650 -rfc 

3.生成應用Profile文件

在Sdk\toolchains\lib目錄下執(zhí)行如下命令生成profile文件p7b執(zhí)行如下命令:

  1. java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out d:\key\myApplication_ohos_Provision.p7b --keystore OpenHarmony.p12 --storepass 123456 --alias “OpenHarmony Application Profile Release” --sigAlg SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365 --developer-id ohosdeveloper --bundle-name myApplication_ohos --distribution-certificate d:\key\myApplication_ohos.cer 

4.配置應用簽名信息

打開File > Project Structure,按照下圖配置:

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

可以在build.gradle中查看簽名的信息:

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

編譯完成后在下圖取出已經(jīng)簽名的hap包:

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

三,總結流程

如下圖:

#星光計劃2.0#安全子系統(tǒng)之應用簽名與驗簽-鴻蒙HarmonyOS技術社區(qū)

 想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區(qū)

https://harmonyos.51cto.com

 

責任編輯:姜華 來源: 鴻蒙社區(qū)
相關推薦

2021-11-18 10:28:03

鴻蒙HarmonyOS應用

2024-01-01 09:08:52

API簽名驗簽

2023-03-01 14:55:09

2020-07-20 07:46:01

程序員加簽驗簽

2023-03-10 18:34:31

2020-04-14 11:43:54

Python加密解密授權認證

2014-09-22 13:31:46

Linux

2022-05-12 12:47:07

SPI主設備通信

2022-05-15 22:34:32

SPI 控制器SPI 子系統(tǒng)

2022-02-16 15:48:26

ACTS應用XTS子系統(tǒng)鴻蒙

2022-02-16 15:39:30

ACTS應用XTS子系統(tǒng)鴻蒙

2021-06-07 08:13:11

LinuxIDLE 子系統(tǒng)

2022-01-26 15:16:24

utilsOpenHarmon鴻蒙

2023-04-12 15:31:11

系統(tǒng)服務管理鴻蒙

2020-11-08 16:16:12

Linux硬盤RAID

2023-02-26 23:13:24

存儲LinuxRAID

2021-12-07 00:10:25

C# 微信支付

2015-11-10 16:55:00

性能IO子系統(tǒng)Linux

2022-03-18 16:07:04

Graphic子系統(tǒng)鴻蒙

2016-10-17 08:49:15

WindowsLinuxArch Linux
點贊
收藏

51CTO技術棧公眾號