Android自有證書生成指南


Android部署打包apk應用,需要用上數字證書進行簽名,來表明身份的。

說到蘋果證書,那是要收費的。而安卓證書恰恰相反,免費又不需要審批。

安卓證書可以使用Java的keytool工具生成,以下是window平台生成的方法:

 

安裝java(已安裝的跳過)

 可訪問Oracle官方去安裝java:https://www.java.com/zh_CN/download/win10.jsp

 下面已安裝目錄“C:\Program Files (x86)\Java\jdk1.8.0_73”為例,實際操作請修改自己的安裝目錄

安裝java完成后,打開安裝目錄,找到bin文件夾,如果里面有keytool.exe這個文件,那么下面的安卓證書就能搞了

 

生成簽名證書

 在“C:\Program Files (x86)\Java\jdk1.8.0_73\bin”目錄下,打開終端,使用keytool工具的-genkey命令生成證書(如果你配置了系統變量,可以直接使用keytool命令,就沒必要和我一樣輸入相對路徑“./keytool.exe”)

./keytool.exe -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
testalias是證書別名,可修改為自己想設置的字符,建議使用英文字母和數字
test.keystore是證書文件名稱,可修改為自己想設置的文件名稱,也可以指定完整文件路徑   

Enter后會提示:

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):  //確認證書密碼與證書文件密碼一樣,直接回車就可以 
以上的命令運行完成后,在當前目錄下(C:\Program Files (x86)\Java\jdk1.8.0_73\bin)會有一個test.keystore文件生成

查看證書信息

可以用以下命令查看:

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

會輸出以下格式信息:

密鑰庫類型: JKS
密鑰庫提供方: SUN

您的密鑰庫包含 1 個條目

別名: testalias
創建日期: 2020-5-22
條目類型: PrivateKeyEntry
證書鏈長度: 1
證書[1]:
所有者: CN=murenziwei, OU=web, O=個人, L=神之領域, ST=天庭, C=CN
發布者: CN=murenziwei, OU=web, O=個人, L=神之領域, ST=天庭, C=CN
序列號: 1bfbc40a
有效期開始日期: Fri May 22 15:11:17 CST 2020, 截止日期: Sun Apr 28 15:11:17 CST 2120
證書指紋:
         MD5: E6:FB:23:EB:BF:C3:D0:0D:94:36:DE:E2:76:E0:1A:F5
         SHA1: FE:1D:71:B2:1F:3F:AE:E8:CB:E4:A4:DE:05:B9:D7:49:BA:50:41:0D
         SHA256: 7B:17:60:8A:B4:0C:3C:8F:E6:98:75:5A:61:E0:54:BC:EA:32:EB:22:CF:19:49:04:C8:CF:25:1E:1C:88:5B:ED
         簽名算法名稱: SHA256withRSA
         版本: 3

擴展:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: E8 52 AA 7D 17 3D F4 DB   1E EC 14 D2 C6 F0 A7 52  .R...=.........R
0010: 16 E5 36 FF                                        ..6.
]
]



*******************************************
*******************************************  

其中的證書指紋信息:

MD5
證書的MD5指紋信息(安全碼MD5)
SHA1
證書的SHA1指紋信息(安全碼SHA1)
SHA256
證書的SHA256指紋信息(安全碼SHA245) 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM