在HarmonyOS應用開發過程中,發布應用到應用市場是一個重要的環節。沒經歷過的童鞋,首次對HarmonyOS的應用簽名打包上架可能感覺繁瑣。需要各種秘鑰證書生成和申請,混在一起分不清。其實搞清楚后也就那會事,各個文件都有它存在的作用。為了確保應用的安全性和可信度,開發者需要遵循一定的步驟和流程來完成簽名、打包和發布。本文將詳細說明這些步驟以及每種文件的作用,幫助開發者順利完成HarmonyOS應用的發布。
流程概述
開發者完成HarmonyOS應用/服務開發后,需要將應用/服務打包成App Pack(.app文件),用于上架到AppGallery Connect(華為應用市場)。發布應用/服務的流程如下圖所示:
下述內容,注意區分 p12, csr, cer, p7b等文件,搞清楚了這幾個文件后打包簽名太簡單了。
一、申請發布證書cer
證書是為HarmonyOS應用/元服務配置簽名信息的數字證書,可保障軟件代碼完整性和發布者身份真實性。證書格式為.cer,包含公鑰、證書指紋等信息。
注意事項:
- 每個賬號最多可申請3個發布證書。
- 若Profile狀態變為“失效”或“已吊銷”,表示當前Profile已不可用,您需要重新申請Profile。
前置條件:
申請發布證書,是需要登錄AppGallery Connect網站的。登錄后選擇“證書、APP ID和Profile”,在左側導航欄選擇“證書、APP ID和Profile > 證書”,進入“證書”頁面,點擊“新增證書”,選擇證書類型和上述步驟生成的CSR文件,點擊提交即可創建cer證書。
AppGallery Connect網站是華為提供的一個一站式服務平臺,旨在為開發者提供移動應用的全生命周期服務,包括應用創意、開發、分發、運營和分析等各個環節。
?AppGallery Connect網站地址:
https://developer.huawei.com/consumer/cn/agconnect/
需要注意的是:在申請前,需要現在本機,即你的dev studio開發IDE中,先生成你的私鑰和證書請求文件csr。注意記住你的密碼。在IDE的build菜單中,選取key和證書請求文件生成。
創建CSR文件和p12文件:
Alias:密鑰的別名信息,用于標識密鑰名稱。請記住該別名,后續簽名配置需要使用。
Password:密鑰對應的密碼,與密鑰庫密碼保持一致,無需手動輸入。
單擊OK按鈕,創建CSR文件成功,可以在存儲路徑下獲取生成的密鑰庫文件(.p12)和證書請求文件(.csr)。
拿到了這個csr文件,登錄AppGallery Connect網站后方可操作下載cer證書。
二、申請發布Profile
Profile文件是應用簽名時用于存儲證書鏈的文件格式,通常用于存儲根證書、中間證書和最終用戶證書。它描述了應用的包名、數字證書信息、權限列表等。每個HarmonyOS應用/元服務包中均必須包含一個Profile文件。
Profile文件類型:
- 調試Profile: 適用于調試環境,允許使用多個調試設備或在斷網情況下調試。
- 發布Profile: 適用于正式發布環境,確保應用的安全性和可信來源。
三、打包簽名APP
開發者完成HarmonyOS應用/服務開發后,需要將應用/服務打包成App Pack(.app文件),用于上架到AppGallery Connect。打包過程需要使用發布證書和Profile文件對應用/服務進行簽名。不簽名是無法安裝的。當然在模擬器中可以不用簽名,真機上都需要簽名,無論是debug還是release版本都需要簽名方能安裝。
下面介紹下簽名步驟:
在IDE的 File > Project Structure > Project > Signing Configs窗口中,取消勾選“Automatically generate signature”(如果是HarmonyOS應用,請勾選“Support HarmonyOS”),然后配置工程的簽名信息。
看到了吧:你的密碼,你生成的p12文件,和從網站上下載的證書文件cer, 每個應用單獨的p7b文件都派上用處了。注意,前面的都能復用,唯獨p7b文件可是每個應用需要單獨一個。從AppGallery Connect網站后臺創建并下載得來。也就是說,你要發布應用或元服務,需要先在后臺創建一個應用信息,并下載下來p7b文件方可打包簽名。
四、發布元服務
元服務是指HarmonyOS中可被其他應用發現和調用的服務。發布元服務同樣需要經過簽名和打包步驟,最終通過AppGallery Connect發布。
各種證書和文件的用途詳解
在HarmonyOS應用上架過程中,涉及到多種秘鑰和證書文件,每種文件都有其特定的用途。
-
P12文件
- 用途: P12文件是一種包含私鑰和證書的二進制文件格式,主要用于應用簽名。
- 場景: 當需要為應用生成簽名時,需使用該文件。
-
CSR文件
- 用途: CSR(Certificate Signing Request)文件是證書簽名請求文件,包含公鑰和申請者身份信息。
- 場景: 向證書頒發機構申請證書時,會先生成CSR文件并提交。
-
CER文件
- 用途: CER文件為數字證書,通常包含公鑰和持有者的信息,用于驗證應用的簽名。
- 場景: 從CA獲取到證書時,會得到一個CER文件,該文件需要在應用上架時提供。
-
P7B文件
- 介紹: P7B文件是一種包含證書鏈的文件格式,通常用于存儲根證書、中間證書和最終用戶證書。
- 用途: 應用簽名時,可能需要包含完整的證書鏈以確保信任。Profile格式為.p7b,描述了應用的包名、數字證書信息、權限列表等,必不可少。
形象化解釋
通過以下比喻來幫助記憶和理解這些證書和文件之間的關系和作用:
-
密鑰庫文件(P12文件) - “保險箱和鑰匙”
比喻為一個“保險箱”,里面存放著我們最重要的資產——私鑰和證書。在應用發布時,這個“保險箱”是必不可少的,它確保我們的應用是安全的,來自可信的來源。“鑰匙”就是我們用來打開這個保險箱的密碼,只能由我們自己掌握。 -
證書請求文件(CSR文件) - “申請表”
可以將CSR文件比喻為申請一個新的銀行賬戶時需要填寫的“申請表”。這個表格包含了我們的身份信息(公鑰和其他識別信息),當我們想要向證書頒發機構申請正式的“身份證明”(數字證書)時,就需要提交這個“申請表”。 -
數字證書文件(CER文件) - “身份證”
CER文件就像是我們的“身份證”。當我們通過申請表(CSR)獲得了這個證書,它就證明了我們的身份。這個“身份證”用于驗證我們所發布的應用的合法性和來源,讓用戶(或者操作系統)相信這個應用是安全的。 -
證書鏈文件(P7B文件) - “身份背景調查”
P7B文件可以看作是一個“身份背景調查報告”。它包含了多個證書的信息(根證書、中間證書等),這些證書共同確保了我們所持有的“身份證”是有效的,避免了偽造的可能性。當我們要展示我們的身份時,這份調查報告為認證提供了更強的信任。
總結
通過上述步驟和文件的介紹,相信各位開發者對于如何將HarmonyOS應用/元服務發布AppGallery Connect有了更清晰的認識。希望這篇博文能夠為各位開發者提供幫助,順利完成應用的簽名、打包和發布。
作者介紹
作者:csdn貓哥
原文鏈接:https://blog.csdn.net/yyz_1987,轉載請注明出處。
團隊介紹
堅果派團隊由堅果等人創建,團隊擁有12個華為HDE帶領熱愛HarmonyOS/OpenHarmony的開發者,以及若干其他領域的三十余位萬粉博主運營。專注于分享HarmonyOS/OpenHarmony、ArkUI-X、元服務、倉頡等相關內容,團隊成員聚集在北京、上海、南京、深圳、廣州、寧夏等地,目前已開發鴻蒙原生應用和三方庫60+,歡迎交流。