使用cmd运行以下三条命令即可生成
# 生成密钥库
keytool -genkey -keysize 1024 -validity 7 -alias "privateKey" -keystore "privateKeys.keystore" -storepass "qwe123" -keypass "qwe123" -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN"
# 导出命令
keytool -export -alias "privateKey" -keystore "privateKeys.keystore" -storepass "qwe123" -file "certfile.cer"
#导入命令
keytool -import -alias "publicCert" -file "certfile.cer" -keystore "publicCerts.keystore" -storepass "qwe123"
注意事项:
1. keysize参数不建议取消,因为默认的2048太大了容易抛异常
异常名称:
The security strength of SHA-1 digest algorithm is not sufficient for this key size
2.密钥库和密钥的密码建议设成一致,不然容易引发异常:
异常名称:
警告:不支持PKCS12密钥库的不同存储和密钥密码。忽略用户指定的-keypass值
个人建议:
1.如果安全性比较高,可以先将文件转为jks格式详细教程参考:
p12(PKCS12)和jks互相转换 - Beef Liu - 博客园 (cnblogs.com)
参数详解:
keysize:
指定大小
validity:
指定有效时间,单位天
alias:别名
keystore:
指定密钥库名称
storepass:
指定密钥库密码
keypass:
指定密钥密码
dname:
唯一判别名,cn 所有者名称,ou 组织单位名称,o 组织名称,l 城市或区域名称,st 州或省份名称,c 两字母国家代码
这里就不罗列那么多了,具体请参考: