https憑證產生步驟:
#1、產生金鑰
產生金鑰(即jks檔),此處的程式碼是為了產生一個「zinc_server.jks」的金鑰。
-alias zinc_server -keyalg RSA -keystore zinc_server.jks -validity 3600 -storepass 123456
參數說明:
genkey 在使用者主目錄中建立一個預設檔案".keystore",也會產生一個mykey的別名,mykey包含使用者的公鑰、私鑰和憑證
alias:產生別名
keystore:指定金鑰庫的名稱
validity:指定建立的憑證有效期多少天
storepass:指定密金鑰庫的密碼(取得keystore資訊所需的密碼)
keyalg:指定金鑰的演算法(如:RSA 、DSA;如果不指定預設採用DSA)
更多的參數:
keysize:指定金鑰長度
keypass:指定別名項目的密碼(私密金鑰的密碼)
dname:指定憑證擁有者資訊
list :顯示金鑰庫中的憑證資訊
keytool -list -keystore 指定keystore -storepass 密码
v:顯示金鑰庫中的憑證詳細資料
keytool -list -v -keystore 指定keystore -storepass 密码
2、簽發憑證
這裡使用了第1小節的zinc_server.jks金鑰進行簽發zinc_server.cer憑證
keytool -export -alias zinc_server -file zinc_server.cer -keystore zinc_server.jks -storepass 123456
3、產生安卓使用的憑證集bks
#在安卓中需要使用bks格式的憑證集,所以在安卓中使用的話還需要將第2小節產生的憑證進行轉換。使用的如下指令
keytool -importcert -file zinc_server.cer -keystore zinc_server.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
使用瞭如上指令,有可能你會遇到找不到BouncyCastleProvider這個類別的異常,這個時候你需要稍微配置下環境
進入到bouncycastle官網下載自己對應的jdk的版本。將下載好的jar包放到你的jdk安裝的路徑下/Contents/Home/jre/lib/ext,重新再試一次即可。
4、jks轉bks
這小節的內容,是因為有些app需要進行雙向校驗,需要將客戶端的金鑰放在app中。
以上是https憑證產生步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!