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

Android 證書

Android平臺(tái)打包發(fā)布apk應(yīng)用,需要使用數(shù)字證書(.keystore文件)進(jìn)行簽名,用于表明開發(fā)者身份。

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

可以使用JRE環(huán)境中的keytool命令生成。以下是windows平臺(tái)生成證書的方法:

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

可從Oracle官方下載jre安裝包:https://www.oracle.com/java/technologies/downloads/

下面以Windows平臺(tái),jre安裝目錄為“C:\Program Files\Java\jre1.8.0_201”為例,實(shí)際操作時(shí)請(qǐng)修改為自己安裝目錄

建議將JRE安裝路徑添加到系統(tǒng)環(huán)境變量,已配置可跳過此章節(jié)

打開命令行(cmd),輸入以下命令:

d:

set PATH=%PATH%;"C:\Program Files\Java\jre1.8.0_201\bin"

第一行:切換工作目錄到D:路徑

第二行:將jre命令添加到臨時(shí)環(huán)境變量中

生成簽名證書

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

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore

testalias是證書別名,可修改為自己想設(shè)置的字符,建議使用英文字母和數(shù)字

test.keystore是證書文件名稱,可修改為自己想設(shè)置的文件名稱,也可以指定完整文件路徑

36500是證書的有效期,表示100年有效期,單位天,建議時(shí)間設(shè)置長(zhǎng)一點(diǎn),避免證書過期

回車后會(huì)提示:

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]:? //輸入城市或區(qū)域名稱,輸入完成回車

What is the name of your State or Province?

? [Unknown]:? //輸入省/市/自治區(qū)名稱,輸入完成回車

What is the two-letter country code for this unit?

? [Unknown]:? //輸入國(guó)家/地區(qū)代號(hào)(兩個(gè)字母),中國(guó)為CN,輸入完成回車

Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?

? [no]:? //確認(rèn)上面輸入的內(nèi)容是否正確,輸入y,回車

Enter key password for <testalias>

? ? ? ? (RETURN if same as keystore password):? //確認(rèn)證書密碼與證書文件密碼一樣(HBuilder|HBuilderX要求這兩個(gè)密碼一致),直接回車就可以

以上命令運(yùn)行完成后就會(huì)生成證書,路徑為“D:\test.keystore”。

注意:上述信息填寫要規(guī)范,亂填有可能會(huì)影響應(yīng)用上架應(yīng)用市場(chǎng)。

查看證書信息

可以使用以下命令查看:

keytool -list -v -keystore test.keystore

Enter keystore password: //輸入密碼,回車

會(huì)輸出以下格式信息:

Keystore type: PKCS12

Keystore provider: SUN

Your keystore contains 1 entry

Alias name: test

Creation date: 2021-12-04

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)

安卓簽名獲取工具

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

查看證書算法的方法

使用“keytool -list -v”查看證書信息,看“Subject Public Key Algorithm: ”項(xiàng)的信息,如下表示使用DSA算法:

Subject Public Key Algorithm: 2048-bit DSA key

注意問題

'keytool' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序

解決辦法:https://www.cnblogs.com/badaoliumangqizhi/p/12555178.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容