前言
項(xiàng)目初期,我們可能會(huì)圖方便,直接使用自動(dòng)生成簽名的方式對(duì)項(xiàng)目進(jìn)行簽名,但在多人協(xié)作開發(fā)的項(xiàng)目中,拉取代碼常常因他人自動(dòng)生成的簽名信息與自己自動(dòng)生成的簽名信息沖突,常常需要在本地重新生成簽名,顯得很不方便。有沒有一勞永逸的方法呢?答案是肯定的,下面將介紹通過本地配置證書的方式進(jìn)行簽名管理。
準(zhǔn)備簽名文件
HarmonyOS應(yīng)用/元服務(wù)通過數(shù)字證書(.cer文件)和Profile文件(.p7b文件)來保證應(yīng)用/元服務(wù)的完整性。在申請(qǐng)數(shù)字證書和Profile文件前,首先需要通過DevEco Studio來生成密鑰(存儲(chǔ)在格式為.p12的密鑰庫(kù)文件中)和證書請(qǐng)求文件(.csr文件)。
基本概念
- 密鑰:包含非對(duì)稱加密中使用的公鑰和私鑰,存儲(chǔ)在密鑰庫(kù)文件中,格式為.p12,公鑰和私鑰對(duì)用于數(shù)字簽名和驗(yàn)證。
- 證書請(qǐng)求文件:格式為.csr,全稱為Certificate Signing Request,包含密鑰對(duì)中的公鑰和公共名稱、組織名稱、組織單位等信息,用于向AppGallery Connect申請(qǐng)數(shù)字證書。
- 數(shù)字證書:格式為.cer,由華為AppGallery Connect頒發(fā)。
- Profile文件:格式為.p7b,包含HarmonyOS應(yīng)用/元服務(wù)的包名、數(shù)字證書信息、描述應(yīng)用/元服務(wù)允許申請(qǐng)的證書權(quán)限列表,以及允許應(yīng)用/元服務(wù)調(diào)試的設(shè)備列表(如果應(yīng)用/元服務(wù)類型為Release類型,則設(shè)備列表為空)等內(nèi)容,每個(gè)應(yīng)用/元服務(wù)包中均必須包含一個(gè)Profile文件。
生成密鑰和證書請(qǐng)求文件
首先需要通過DevEco Studio來生成密鑰(存儲(chǔ)在格式為.p12的密鑰庫(kù)文件中)和證書請(qǐng)求文件(.csr文件)




申請(qǐng)發(fā)布證書和Profile文件
- 新建 APP ID

- 申請(qǐng)調(diào)試證書
證書類型:調(diào)試證書
證書請(qǐng)求文件(CSR):選取前面生成的 .csr 文件


- 申請(qǐng)調(diào)試 Profile
申請(qǐng)調(diào)試 Profile 前,需要先添加用于調(diào)試的設(shè)備

添加調(diào)試 Profile
應(yīng)用名稱:選擇前面創(chuàng)建的應(yīng)用 APP ID
類型:調(diào)試
選擇證書:選擇前面創(chuàng)建的調(diào)試證書
選擇設(shè)備:選擇需要用于調(diào)試的設(shè)備


配置簽名信息
為了多人協(xié)作,建議將調(diào)試簽名證書添加到工程中,并通過相對(duì)路徑配置簽名信息中的文件路徑。

在File > Project Structure > Project > Signing Configs > default界面中,取消“Automatically generate signature”勾選項(xiàng),然后配置工程的簽名信息。

結(jié)語(yǔ)
至此,調(diào)試證書的本地配置就完成了,由項(xiàng)目管理者配置簽名文件信息,其他開發(fā)者拉取代碼后即可直接運(yùn)行在測(cè)試設(shè)備上,無需進(jìn)行繁瑣的自動(dòng)簽名流程。如果需要添加新的真機(jī)設(shè)備,需到 AppGellery Connect 中添加設(shè)備,并更新 Profile 文件選擇的設(shè)備,重新下載 Profile 文件進(jìn)行替換。
參考文檔:
發(fā)布應(yīng)用
創(chuàng)建HarmonyOS應(yīng)用/元服務(wù)
申請(qǐng)調(diào)試證書
UDID獲取方法
申請(qǐng)調(diào)試Profile