HarmonyOS 應用通過數(shù)字證書和授權文件來保證應用的完整性,在申請數(shù)字證書和 Profile 文件前,需要通過 DevEco Studio 來生成私鑰(存放在 .p12 文件中)和證書請求文件(.csr 文件)。同時,也可以使用命令行工具的方式來生成密鑰和證書請求文件,用于構筑工程流水線。
使用 DevEco Studio 生成證書請求文件
使用 DevEco Studio 生成證書請求文件的方式有以下兩種情況:
一鍵生成密鑰和證書請求文件
- 在主菜單欄點擊 Build > Generate Key。
- 在 Key Store Path 中,可以點擊 Choose Existing 選擇已有的密鑰庫文件;如果沒有密鑰庫文件,點擊 New 進行創(chuàng)建。下面以新創(chuàng)建密鑰庫文件為例進行說明。
- 在 Create Key Store 窗口中,填寫密鑰庫信息后,點擊 OK。
- Key Store Path:選擇密鑰庫文件存儲路徑。
- Password:設置密鑰庫密碼,必須由大寫字母、小寫字母、數(shù)字和特殊符號中的兩種以上字符的組合,長度至少為 8 位。請記住該密碼,后續(xù)簽名配置需要使用。
- Confirm Password:再次輸入密鑰庫密碼。

- 在 Generate Key 界面中,繼續(xù)填寫密鑰信息后,點擊 Generate Key and CSR。
- Alias:密鑰的別名信息,用于標識密鑰名稱。請記住該別名,后續(xù)簽名配置需要使用。
- Password:輸入密鑰對應的密碼,密鑰密碼需要與密鑰庫密碼保持一致。請記住該密碼,后續(xù)簽名配置需要使用。
- Confirm Password:再次輸入密鑰密碼。
- Validity:證書有效期,建議設置為 25 年及以上,覆蓋應用的完整生命周期。
- Certificate:輸入證書基本信息,如組織、城市或地區(qū)、國家碼等。

- 在彈出的窗口中,點擊 CSR File Path 對應的
圖標,選擇 CSR 文件存儲路徑。

- 點擊 OK 按鈕,創(chuàng)建 CSR 文件成功,工具會同時生成密鑰文件(.p12)和證書請求文件(.csr)。

使用已有密鑰生成證書請求文件
- 在主菜單欄點擊 Build > Generate Certificate Request File。
- 在 Generate CSR 界面,填寫證書請求文件生成參數(shù),點擊 OK。
- key Store Path:點擊 Choose Existing 選擇已有的密鑰庫文件,后綴格式為 .p12。
- Key Store Password:輸入創(chuàng)建密鑰時填寫的密鑰庫密碼。
- Key Alias:輸入創(chuàng)建密鑰時填寫的別名信息。
- Key Password:輸入創(chuàng)建密鑰時填寫的密鑰密碼。
- Certificate Path:點擊
按鈕,選擇證書請求文件存儲路徑和名稱。

- 打開證書請求文件存儲目錄,獲取證書請求文件(.csr文件)。
使用命令行工具生成證書請求文件
使用 Open JDK 攜帶的 Keytool 工具生成證書請求文件。
- 使用管理員身份運行命令行工具。

- 切換到 keytool 工具所在路徑,實際路徑請根據(jù)安裝目錄進行修改。

- 執(zhí)行如下命令,生成密鑰文件。例如,生成的密鑰名稱為 ide_demo_app.p12,存儲到 D 盤根目錄下。
keytool -genkeypair -alias "ide_demo_app" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=HUAWEI,OU=HUAWEI IDE,CN=ide_demo_app" -keystore d:\\idedemokey.p12 -storetype pkcs12 -validity 9125 -storepass 123456 -keypass 123456
生成密鑰文件的參數(shù)說明如下:
說明
請記錄 下 alias、storepass 和 keypass 的值,后續(xù)編譯構建生成 HAP和編譯構建生成 APP會使用到。
- sigalg:簽名算法,固定為 SHA256withECDSA。
:按照操作界面提示進行輸入。
- C:國家/地區(qū)代碼,如 CN。
- O:組織名稱,如 HUAWEI。
- OU:組織單位名稱,如 HUAWEI IDE。
- CN:名字與姓氏,建議與別名一致。
- validity:證書有效期,建議設置為 9125(25年)。
- keypass:設置密鑰的密碼,請與 storepass 保持一致。
- 執(zhí)行如下命令,執(zhí)行后需要輸入 storepass 密碼,生成證書請求文件,后綴格式為 .csr。
keytool -certreq -alias "ide_demo_app" -keystore d:\\idedemokey.p12 -storetype pkcs12 -file d:\\idedemokey.csr
生成證書請求文件的參數(shù)說明如下:
- alias:與 3 中輸入的 alias 保持一致。
- file:生成的證書請求文件名稱,后綴為 .csr。
更多建議: