如果新應用需要使用應用簽名服務,可以選擇由AGC創(chuàng)建并管理新的簽名密鑰,也可以選擇由您自行上傳簽名密鑰。不管使用哪種方式,AGC將保證您簽名密鑰的安全。
前提條件
已參考創(chuàng)建應用在AGC中創(chuàng)建了您的應用。
已簽署應用簽名服務協(xié)議。
選擇應用簽名管理方式
對于新應用,AGC提供的兩種應用簽名管理方式均可選擇。
1.登錄AppGallery Connect,選擇“我的應用”。
2.點擊需要簽名的應用,進入“分發(fā)”頁簽,選擇“服務>應用簽名”。
3.根據最終發(fā)布給用戶的APK是否使用您自己的簽名密鑰,選擇相應的簽名方式。
注意:
如果您已經使用了應用簽名服務,則此處將提示此應用已加入應用簽名計劃。
選擇“讓AG Connect創(chuàng)建并管理我的應用簽名密鑰”,AGC會為您生成新的簽名密鑰,并使用新的簽名密鑰對您的應用重新簽名。后續(xù)您升級應用時只需使用上傳密鑰對更新的應用軟件包進行簽名,再將應用軟件包提交發(fā)布即可。新應用推薦使用此方式,詳細操作參見選擇由AGC創(chuàng)建簽名密鑰。
注意:
如果您已經上傳了軟件包,此選項將不展示。如果您希望使用此方式,建議您重新創(chuàng)建應用。
為了保證簽名密鑰的安全性,AGC不支持查看或導出新生成的簽名密鑰,但支持導出簽名密鑰的密鑰證書。如果您想在多個應用商店使用同一個簽名密鑰,或者與第三方對接時需要通過簽名密鑰進行簽名驗證,請不要選擇此方式。
選擇“導出并上傳密鑰和證書”,AGC會使用您自己上傳的簽名密鑰對應用重新簽名,后續(xù)升級應用時您只需使用應用的上傳密鑰對更新的應用軟件包進行簽名,再將應用軟件包提交發(fā)布即可。詳細操作參見選擇自行上傳簽名密鑰。
選擇由AGC創(chuàng)建簽名密鑰
如果您在選擇簽名管理方式時選擇“讓AG Connect創(chuàng)建并管理我的應用簽名密鑰”,您需要將上傳密鑰的密鑰證書提交到AGC。
1.生成用于軟件包簽名的上傳密鑰。此步驟為Android通用步驟,由您自行完成。
2.使用如下命令,為新生成的上傳密鑰導出證書(PEM格式)。
命令中斜體加粗的內容需替換為實際的值,其中upload-keystore.jks為上傳密鑰所在的簽名文件,upload為簽名文件的別名,upload_certificate.pem為導出的上傳密鑰的密鑰證書。
$keytool-export-rfc-keystore upload-keystore.jks-alias upload-file upload_certificate.pem
3.點擊“瀏覽”選擇生成的密鑰證書。
4.點擊右上角的“提交”將密鑰證書提交至AGC。
5.使用上傳密鑰對應用軟件包進行簽名,并上傳軟件包到AGC。
上傳軟件包后AGC會執(zhí)行重簽名,需要消耗幾分鐘時間,請耐心等待。
6.配置重簽名后的證書指紋。
重簽名生成的證書指紋可能不同于您開發(fā)應用時本地生成的簽名證書指紋。如您的應用當前集成的華為相關服務需依賴SHA256證書指紋,您還需為應用添加重簽名后的SHA256證書指紋,具體請參見配置重新生成的證書指紋。
7.將應用發(fā)布信息補充完整,發(fā)布應用。
選擇自行上傳簽名密鑰
如果您在選擇簽名管理方式時選擇“導出并上傳密鑰和證書”,您需要使用PEPK工具生成包含簽名密鑰的zip文件,并將zip文件上傳到AGC。為了更高的安全性,您還可以提交上傳密鑰的密鑰證書,建議您使用不同于簽名密鑰的上傳密鑰。如果不上傳,則您需要使用您提交的簽名密鑰作為上傳密鑰。
1.生成包含簽名密鑰的簽名文件。此步驟為Android通用步驟,由您自行完成。
2.通過網絡或其他合法途徑獲取PEPK工具(pepk.jar)。
3.使用PEPK工具將包含簽名密鑰的簽名文件導出為zip文件。
命令中斜體加粗的內容需替換為實際的值,其中test.jks為簽名密鑰的簽名文件,test為簽名文件的別名,output.zip為輸出的zip文件名。
java-jar pepk.jar--keystore test.jks--alias test--output=output.zip--encryptionkey=034200041E224EE22B45D19B23DB91BA9F52DE0A06513E03A5821409B34976FDE
ED6E0A47DBA48CC249DD93734A6C5D9A0F43461F9E140F278A5D2860846C2CF5D2C3C02--include-cert
4.點擊“瀏覽”選擇zip文件。
說明:
以下步驟5~7為可選步驟,為了更高的安全性,您如果需要使用不同于簽名密鑰的上傳密鑰,可以手動上傳您新生成的上傳密鑰。
5.生成不同于簽名密鑰的上傳密鑰。
6.使用如下命令,為新生成的上傳密鑰導出密鑰證書(PEM格式)。
命令中斜體加粗的內容需替換為實際的值,其中upload-keystore.jks為上傳密鑰所在的簽名文件,upload為簽名文件的別名,upload_certificate.pem為導出的上傳密鑰的密鑰證書。
$keytool-export-rfc-keystore upload-keystore.jks-alias upload-file upload_certificate.pem
7.點擊“展開”,再點擊“瀏覽”選擇上傳密鑰的密鑰證書。
8.點擊右上角的“提交”將相關文件提交至AGC。
AGC會按如下順序對上傳的簽名密鑰進行校驗,校驗通過才可成功提交。
校驗AGC是否支持簽名密鑰的加密算法和密鑰長度。如果不支持,則提示“上傳的應用簽名密鑰系統(tǒng)暫不支持,請重新上傳?!?/span>
AGC支持的加密算法和密鑰長度詳見使用限制。
校驗簽名密鑰是否為配對的公私鑰。如果公私鑰不匹配,則提示“上傳的應用簽名密鑰驗證錯誤,請重新上傳”。
9.使用上傳密鑰對應用軟件包簽名,并上傳軟件包到AGC。如果沒有上傳新的上傳密鑰,則使用簽名密鑰對軟件包簽名。
上傳軟件包后AGC會執(zhí)行重簽名,需要消耗幾分鐘時間,請耐心等待。
10.配置重簽名后的證書指紋。
重簽名生成的證書指紋可能不同于您開發(fā)應用時本地生成的簽名證書指紋。如您的應用當前集成的華為相關服務需依賴SHA256證書指紋,您還需為應用添加重簽名后的SHA256證書指紋,具體請參見配置重新生成的證書指紋。
11.將應用發(fā)布信息補充完整,發(fā)布應用。