生成安卓簽名證書

2021-10-14 01:21:05 字數 3695 閱讀 8411

一、首先需要先配置好jdk環境(推薦jre8環境)

jdk環境配置這裡我就不講了

二、使用jdk自帶的keytool工具生成安卓簽名證書(分階段生成)

在命令列中執行如下命令

keytool -genkey -alias certalias -keyalg rsa -keysize 2048 -validity 36500 -keystore certname.keystore
引數解釋:

certalias 表示證書別名(建議使用英文本母和數字)

certname.keystore 表示金鑰庫的名稱(可以指定完整檔案路徑)

36500 表示指定證書的有效天數

2048 表示指定金鑰長度

rsa 表示指定金鑰的演算法

根據命令列的提示輸入對應內容並回車

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

(return

if same as keystore password): /

/確認證書密碼與證書檔案密碼一樣(hbuilder|hbuilderx要求這兩個密碼一致),直接回車就可以

演示如下:

二、使用jdk自帶的keytool工具生成安卓簽名證書(一次性生成)

在命令列中執行如下命令

keytool -genkey -alias certalias -keyalg rsa -keysize 2048 -validity 36500 -keystore certname.keystore  -keypass demopass -storepass testpass -dname "cn=名字, ou=單位名稱, o=組織名稱, l=城市或區域名稱, st=州或省份名稱, c=單位的兩字母國家**"
引數解釋:

certalias 表示證書別名(建議使用英文本母和數字)

certname.keystore 表示金鑰庫的名稱(可以指定完整檔案路徑)

36500 表示指定證書的有效天數

2048 表示指定金鑰長度

rsa 表示指定金鑰的演算法

demopass 表示別名條目的密碼(私鑰的密碼)

testpass 表示金鑰庫的密碼(獲取keystore資訊所需的密碼)

最後針對keytool 對應各引數解釋如下:

-genkey  在使用者主目錄中建立乙個預設檔案".keystore"

,還會產生乙個mykey的別名,mykey中包含使用者的公鑰、私鑰和證書(在沒有指定生成位置的情況下,keystore會存在使用者系統預設目錄,如:對於window xp系統,會生成在系統的c:\documents and settings\username\檔名為「.keystore」)

-alias 產生別名,每個keystore都關聯這乙個獨一無二的alias,這個alias通常不區分大小寫

-keystore 指定金鑰庫的名稱(產生的各類資訊將不在.keystore檔案中)

-keyalg 指定金鑰的演算法 (如 rsa dsa(如果不指定預設採用dsa))

-validity 指定建立的證書有效期多少天

-keysize 指定金鑰長度

-storepass 指定金鑰庫的密碼(獲取keystore資訊所需的密碼)

-keypass 指定別名條目的密碼(私鑰的密碼)

-dname 指定證書擁有者資訊

例如: "cn=名字與姓氏,ou=組織單位名稱,o=組織名稱,l=城市或區域名稱,st=州或省份名稱,c=單位的兩字母國家**"

-list 顯示金鑰庫中的證書資訊

-v 顯示金鑰庫中的證書詳細資訊

-export 將別名指定的證書匯出到檔案

keytool -export -alias 需要匯出的別名 -keystore 指定keystore -file 指定匯出的證書位置及證書名稱 -storepass 密碼

-file 引數指定匯出到檔案的檔名

-delete 刪除金鑰庫中某條目

keytool -delete -alias 指定需刪除的別名 -keystore 指定keystore -storepass 密碼

-printcert 檢視匯出的證書資訊

keytool -printcert -file yushan.crt

-keypasswd 修改金鑰庫中指定條目口令

keytool -keypasswd -alias 需修改的別名 -keypass 舊密碼 -new 新密碼 -storepass keystore密碼 -keystore

-import 將已簽名數字證書匯入金鑰庫

keytool -import -alias 指定匯入條目的別名 -keystore 指定keystore -file 需匯入的證書

檢視證書命令

keytool -list -v -keystore certalias.keystore
-keystore 指定金鑰庫的名稱(產生的各類資訊將不在.keystore檔案中)

certalias.keystore 表示你自己的金鑰庫名稱

生成安卓打包證書

2.在jdk安裝目錄下的bin資料夾開啟命令列,執行以下命令,自動生成至該目錄下 keytool genkey alias test keyalg rsa sigalg sha1withrsa validity 40000 keysize 1024 keystore test.keystore al...

用KeyTool生成安全證書

關鍵字 keytool 證書 詳細請見 tomcat的幫助文件,https localhost 8080 tomcat docs ssl howto.html 1 用keytool生成證書 keytool genkey alias tomcat keyalg rsa keystore c tomca...

用keytool生成安全證書

用keytool生成證書 keytool genkey alias tomcat keyalg rsa keystore c tomcat mykey 說明 這裡 alias tomcat 是表示生成的這個證書的別名叫tomcat,keyalg rsa 指的是採用的rsa演算法,keystore c...