生成密鑰對
首先,我們需要生成一對密鑰,用來進行證書的生成和簽名。可以使用Java的keytool工具來生成密鑰對。
keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks
上述命令中的各個參數含義如下:
- -genkeypair:生成密鑰對
-alias mykey:指定密鑰對的別名為"mykey"
-keyalg RSA:指定密鑰算法為RSA
-keysize 2048:指定密鑰長度為2048位
-validity 365:指定證書的有效期為365天
-keystore mykeystore.jks:指定保存密鑰對的文件名為"mykeystore.jks" 生成證書請求 生成密鑰對后,我們需要生成一個證書請求文件,用于向證書頒發機構(CA)請求簽名證書。
keytool -certreq -alias mykey -file mycertreq.csr -keystore mykeystore.jks
上述命令中的各個參數含義如下:
- -certreq:生成證書請求
-alias mykey:指定要使用的密鑰對的別名為"mykey"
-file mycertreq.csr:指定保存證書請求的文件名為"mycertreq.csr"
-keystore mykeystore.jks:指定密鑰對所在的密鑰庫文件為"mykeystore.jks"
keytool -importcert -alias mykey -file mycert.cer -keystore mykeystore.jks(本地不用執行這一句)
keytool -importkeystore -srckeystore mykeystore.jks -destkeystore mykeystore.p12 -deststoretype PKCS12
上述命令中的各個參數含義如下:
- -importcert:導入簽名證書
-alias mykey:指定要導入證書的密鑰對的別名為"mykey"
-file mycert.cer:指定要導入的證書文件名為"mycert.cer"
-keystore mykeystore.jks:指定密鑰庫文件為"mykeystore.jks"
-importkeystore:導入密鑰庫
-srckeystore mykeystore.jks:指定要導入的密鑰庫文件名為"mykeystore.jks"
-destkeystore mykeystore.p12:指定導出的p12文件名為"mykeystore.p12"
-deststoretype PKCS12:指定密鑰庫類型為PKCS12格式