HarmonyOS 應(yīng)用通過數(shù)字證書和授權(quán)文件來保證應(yīng)用的完整性,在申請(qǐng)數(shù)字證書和 Profile 文件前,需要通過 DevEco Studio 來生成私鑰(存放在 .p12 文件中)和證書請(qǐng)求文件(.csr 文件)。同時(shí),也可以使用命令行工具的方式來生成密鑰和證書請(qǐng)求文件,用于構(gòu)筑工程流水線。
使用 DevEco Studio 生成證書請(qǐng)求文件
使用 DevEco Studio 生成證書請(qǐng)求文件的方式有以下兩種情況:
一鍵生成密鑰和證書請(qǐng)求文件
- 在主菜單欄點(diǎn)擊 Build > Generate Key。
- 在 Key Store Path 中,可以點(diǎn)擊 Choose Existing 選擇已有的密鑰庫(kù)文件;如果沒有密鑰庫(kù)文件,點(diǎn)擊 New 進(jìn)行創(chuàng)建。下面以新創(chuàng)建密鑰庫(kù)文件為例進(jìn)行說明。
- 在 Create Key Store 窗口中,填寫密鑰庫(kù)信息后,點(diǎn)擊 OK。
- Key Store Path:選擇密鑰庫(kù)文件存儲(chǔ)路徑。
- Password:設(shè)置密鑰庫(kù)密碼,必須由大寫字母、小寫字母、數(shù)字和特殊符號(hào)中的兩種以上字符的組合,長(zhǎng)度至少為 8 位。請(qǐng)記住該密碼,后續(xù)簽名配置需要使用。
- Confirm Password:再次輸入密鑰庫(kù)密碼。
- 在 Generate Key 界面中,繼續(xù)填寫密鑰信息后,點(diǎn)擊 Generate Key and CSR。
- Alias:密鑰的別名信息,用于標(biāo)識(shí)密鑰名稱。請(qǐng)記住該別名,后續(xù)簽名配置需要使用。
- Password:輸入密鑰對(duì)應(yīng)的密碼,密鑰密碼需要與密鑰庫(kù)密碼保持一致。請(qǐng)記住該密碼,后續(xù)簽名配置需要使用。
- Confirm Password:再次輸入密鑰密碼。
- Validity:證書有效期,建議設(shè)置為 25 年及以上,覆蓋應(yīng)用的完整生命周期。
- Certificate:輸入證書基本信息,如組織、城市或地區(qū)、國(guó)家碼等。
- 在彈出的窗口中,點(diǎn)擊 CSR File Path 對(duì)應(yīng)的圖標(biāo),選擇 CSR 文件存儲(chǔ)路徑。
- 點(diǎn)擊 OK 按鈕,創(chuàng)建 CSR 文件成功,工具會(huì)同時(shí)生成密鑰文件(.p12)和證書請(qǐng)求文件(.csr)。
使用已有密鑰生成證書請(qǐng)求文件
- 在主菜單欄點(diǎn)擊 Build > Generate Certificate Request File。
- 在 Generate CSR 界面,填寫證書請(qǐng)求文件生成參數(shù),點(diǎn)擊 OK。
- key Store Path:點(diǎn)擊 Choose Existing 選擇已有的密鑰庫(kù)文件,后綴格式為 .p12。
- Key Store Password:輸入創(chuàng)建密鑰時(shí)填寫的密鑰庫(kù)密碼。
- Key Alias:輸入創(chuàng)建密鑰時(shí)填寫的別名信息。
- Key Password:輸入創(chuàng)建密鑰時(shí)填寫的密鑰密碼。
- Certificate Path:點(diǎn)擊按鈕,選擇證書請(qǐng)求文件存儲(chǔ)路徑和名稱。
- 打開證書請(qǐng)求文件存儲(chǔ)目錄,獲取證書請(qǐng)求文件(.csr文件)。
使用命令行工具生成證書請(qǐng)求文件
使用 Open JDK 攜帶的 Keytool 工具生成證書請(qǐng)求文件。
- 使用管理員身份運(yùn)行命令行工具。
- 切換到 keytool 工具所在路徑,實(shí)際路徑請(qǐng)根據(jù)安裝目錄進(jìn)行修改。
- 執(zhí)行如下命令,生成密鑰文件。例如,生成的密鑰名稱為 ide_demo_app.p12,存儲(chǔ)到 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ù)說明如下:
說明
請(qǐng)記錄 下 alias、storepass 和 keypass 的值,后續(xù)編譯構(gòu)建生成 HAP和編譯構(gòu)建生成 APP會(huì)使用到。
- alias:密鑰的別名信息,用于標(biāo)識(shí)密鑰名稱。
- sigalg:簽名算法,固定為 SHA256withECDSA。
:按照操作界面提示進(jìn)行輸入。
- C:國(guó)家/地區(qū)代碼,如 CN。
- O:組織名稱,如 HUAWEI。
- OU:組織單位名稱,如 HUAWEI IDE。
- CN:名字與姓氏,建議與別名一致。
- validity:證書有效期,建議設(shè)置為 9125(25年)。
- storepass:設(shè)置密鑰庫(kù)密碼。
- keypass:設(shè)置密鑰的密碼,請(qǐng)與 storepass 保持一致。
- 執(zhí)行如下命令,執(zhí)行后需要輸入 storepass 密碼,生成證書請(qǐng)求文件,后綴格式為 .csr。
keytool -certreq -alias "ide_demo_app" -keystore d:\\idedemokey.p12 -storetype pkcs12 -file d:\\idedemokey.csr
生成證書請(qǐng)求文件的參數(shù)說明如下:
- alias:與 3 中輸入的 alias 保持一致。
- file:生成的證書請(qǐng)求文件名稱,后綴為 .csr。
更多建議: