1. 程式人生 > 其它 >Android平臺簽名證書(.keystore)生成指南

Android平臺簽名證書(.keystore)生成指南

Android平臺打包釋出apk應用,需要使用數字證書(.keystore檔案)進行簽名,用於表明開發者身份。

Android證書的生成是自助和免費的,不需要審批或付費。

可以使用JRE環境中的keytool命令生成。以下是windows平臺生成證書的方法:

安裝JRE環境(推薦使用JRE8環境,如已有可跳過)

可從Oracle官方下載jre安裝包:https://www.oracle.com/technetwork/java/javase/downloads/index.html
下面以Windows平臺,jre安裝目錄為“C:\Program Files\Java\jre1.8.0_201”為例,實際操作時請修改為自己安裝目錄
建議將JRE安裝路徑新增到系統環境變數,已配置可跳過此章節


開啟命令列(cmd),輸入以下命令:

d:  
set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"
  • 第一行:切換工作目錄到D:路徑
  • 第二行:將jre命令新增到臨時環境變數中

生成簽名證書

使用keytool -genkey命令生成證書:

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
  • testalias是證書別名,可修改為自己想設定的字元,建議使用英文字母和數字
  • test.keystore是證書檔名稱,可修改為自己想設定的檔名稱,也可以指定完整檔案路徑
  • 36500是證書的有效期,表示100年有效期,單位天,建議時間設定長一點,避免證書過期

回車後會提示:

Enter keystore password:  //輸入證書檔案密碼,輸入完成回車  
Re-enter new password:   //再次輸入證書檔案密碼,輸入完成回車  
What is your first and last name?  
  [Unknown]:  //輸入名字和姓氏,輸入完成回車  
What is the name of your organizational unit?  
  [Unknown]:  //輸入組織單位名稱,輸入完成回車  
What is the name of your organization?  
  [Unknown]:  //輸入組織名稱,輸入完成回車  
What is the name of your City or Locality?  
  [Unknown]:  //輸入城市或區域名稱,輸入完成回車  
What is the name of your State or Province?  
  [Unknown]:  //輸入省/市/自治區名稱,輸入完成回車  
What is the two-letter country code for this unit?  
  [Unknown]:  //輸入國家/地區代號(兩個字母),中國為CN,輸入完成回車  
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  
  [no]:  //確認上面輸入的內容是否正確,輸入y,回車  

Enter key password for <testalias>  
        (RETURN if same as keystore password):  //確認證書密碼與證書檔案密碼一樣(HBuilder|HBuilderX要求這兩個密碼一致),直接回車就可以

以上命令執行完成後就會生成證書,路徑為“D:\test.keystore”。

注意:上述資訊填寫要規範,亂填有可能會影響應用上架應用市場。

檢視證書資訊

可以使用以下命令檢視:

keytool -list -v -keystore test.keystore  
Enter keystore password: //輸入密碼,回車

會輸出以下格式資訊:

碼Keystore type: PKCS12    
Keystore provider: SUN    

Your keystore contains 1 entry    

Alias name: test    
Creation date: 2019-10-28    
Entry type: PrivateKeyEntry    
Certificate chain length: 1    
Certificate[1]:    
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Serial number: 7dd12840    
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119    
Certificate fingerprints:    
         MD5:  F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5    
         SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7    
         SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26    
Signature algorithm name: SHA256withRSA    
Subject Public Key Algorithm: 2048-bit RSA key    
Version: 3

其中證書指紋資訊(Certificate fingerprints):

  • MD5
    證書的MD5指紋資訊(安全碼MD5)
  • SHA1
    證書的SHA1指紋資訊(安全碼SHA1)
  • SHA256
    證書的SHA256指紋資訊(安全碼SHA245)

安卓簽名獲取工具

直接通過一個apk,獲取安裝到手機的第三方應用簽名的apk包。 詳情:https://developers.weixin.qq.com/doc/oplatform/Downloads/Android_Resource.html

ps:文章摘抄自這裡