成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

[[442372]]

想了解更多內(nèi)容,請?jiān)L問:

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

https://harmonyos.51cto.com

Guide

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

一,應(yīng)用簽名與驗(yàn)簽的場景

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

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

二,應(yīng)用驗(yàn)簽的流程

hap包的組成圖如下:

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

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

1.整包驗(yàn)簽

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

2.授權(quán)文件驗(yàn)簽

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

3.授權(quán)文件內(nèi)容校驗(yàn)

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

二,應(yīng)用簽名流程

流程圖如下:

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

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

1.1 使用DevEcoStudio

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

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

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

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

1.1.3 在Gernrete Key填寫密鑰信息

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

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

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

1.1.5 最后在文件存儲(chǔ)路徑下生成以下兩個(gè)文件

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

1.2 使用命令行

1.2.1 用管理員權(quán)限打開命令行工具并進(jìn)到OpenJDK攜帶的KeyTool工具路徑下

#星光計(jì)劃2.0#安全子系統(tǒng)之應(yīng)用簽名與驗(yàn)簽-鴻蒙HarmonyOS技術(shù)社區(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.生成應(yīng)用證書文件

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

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

2.2 執(zhí)行如下命令生成應(yīng)用證書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.生成應(yīng)用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.配置應(yīng)用簽名信息

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

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

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

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

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

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

三,總結(jié)流程

如下圖:

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

 想了解更多內(nèi)容,請?jiān)L問:

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

https://harmonyos.51cto.com

 

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

2021-11-18 10:28:03

鴻蒙HarmonyOS應(yīng)用

2024-01-01 09:08:52

API簽名驗(yàn)簽

2023-03-01 14:55:09

2020-07-20 07:46:01

程序員加簽驗(yàn)簽

2023-03-10 18:34:31

2020-04-14 11:43:54

Python加密解密授權(quán)認(rèn)證

2014-09-22 13:31:46

Linux

2022-05-12 12:47:07

SPI主設(shè)備通信

2022-05-15 22:34:32

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

2022-02-16 15:48:26

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

2022-02-16 15:39:30

ACTS應(yīng)用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)服務(wù)管理鴻蒙

2020-11-08 16:16:12

Linux硬盤RAID

2023-02-26 23:13:24

存儲(chǔ)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
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩二三区| 国产人久久人人人人爽 | 精品欧美激情在线观看 | 欧美日韩91 | 国产精品中文字幕在线播放 | 日韩精品久久久久 | 蜜桃视频一区二区三区 | 国产精品视频免费观看 | 日本字幕在线观看 | 国产精品高清一区二区 | 国产精品久久久久久久久久久久久久 | h视频免费在线观看 | 日韩最新网站 | 国产日产精品一区二区三区四区 | 高清免费av | 伦理午夜电影免费观看 | 一区二区在线 | 色免费看 | 欧美成人高清视频 | 国产精品特级毛片一区二区三区 | 亚洲一区二区精品视频 | 中文字幕在线国产 | 免费观看的av毛片的网站 | 特级黄一级播放 | 亚洲欧美视频一区 | 欧美综合一区二区三区 | 欧美国产视频 | 日韩精品在线播放 | 日韩精品一区在线 | 国产精品xxxx | 亚洲久久| 久久久在线视频 | 91精品国产麻豆 | 国产一级电影在线观看 | 久久国品片| 国产精品黄色 | 国产综合久久久 | 一区二区三区国产 | 欧美中文一区 | 蜜桃免费av | 国产精品国产a |