keytool工具使用
1、生成pfx文件
keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 2048 -validity 3650 -storetype PKCS12 -keystore client.p12 -storepass 123456
参数说明
- storepass keystore 文件存储密码
- keypass 私钥加解密密码
- alias 实体别名(包括证书私钥)
- dname 证书个人信息
- keyalt 采用公钥算法,默认是DSA
- keysize 密钥长度(DSA算法对应的默认算法是sha1withDSA,不支持2048长度,此时需指定RSA)
- validity 有效期
- keystore 指定keystore文件
2、查看keystore详情
加上-v 查看详细信息
keytool -list -keystore -storepass 111111 server.keystore
3、导出DER编码格式证书
keytool -exportcert -keystore server.keystore -file server.cer -alias serverkey -storepass 111111
4、输出PEM格式证书
keytool -exportcert -keystore server.keystore -rfc -file server.cer -alias serverkey -storepass 111111
参数说明
- exportcert 表示导出证书
- alias 指示别名
- file 指示导出文件
- storepass 指示keystore密钥
5、导入证书
keytool -importcert -keystore client_trust.keystore -file server.cer -alias client_trust_server -storepass 111111 -noprompt
- importcert 表示导入信任证书
- file 指示导入证书,支持pem/der格式
- keystore 指示目标keystore文件
- storepass 指示新的keystore密钥
- alias 指示trust证书在keystore中的别名
- noprompt 指示不弹出提示
6、查看证书
keytool -printcert -file server.cer
7、jks格式 转 pkcs12
keytool -importkeystore -srckeystore server.keystore -destkeystore server.p12 -srcalias serverkey -destalias serverkey -srcstoretype jks -deststoretype pkcs12 -srcstorepass 111111 -deststorepass 111111 -noprompt
- importkeystore 指示导入导出keystore文件,可用于同类型或不同类型的导入导出
- srckeystore 指示源keystore文件
- srcalias 指示源实体别名
- srcstoretype 指示源store类型(jks/pkcs12..)
- srcstorepass 指示源store密码
- noprompt 不弹出提示
pkcs12 转jks格式与此同理
# 1.生成根证书密钥库->root.jks keytool -genkeypair -keyalg RSA -dname "CN=localhost" -alias root -keystore root.jks -keypass 123465 -storepass 123465 # 2.生成用户证书密钥库->server.jks keytool -genkey -keyalg RSA -dname "cn=hankserver,ou=cysignet,o=none,l=china,st=beijing,c=cn" -alias server -keypass 123456 -storepass 123456 -validity 36500 -keystore server.jks # 3.生成用户证书请求文件->server.csr keytool -certreq -file server.csr -alias server -keystore server.jks -storepass 123465 # 4.用根证书给用户证书请求文件签名->server.cer keytool -gencert -infile server.csr -outfile server.cer -alias root -keystore root.jks -storepass 123465 # 5.导出root条目得到root自签名文件->root.cer keytool -exportcert -file root.cer -alias root -keystore root.jks -storepass 123465 # 6.导入root cer到server.jks keytool -importcert -file root.cer -alias root -keystore server.jks -storepass 123465 # 7.导入用户cer证书到server.jks keytool -importcert -file server.cer -alias server -keystore server.jks -storepass 123465 # p.s. #增加这个参数 -ext 扩展名称=扩展值 #---------------------------------------------------------------- # 删除证书 keytool -delete -alias mykey -keystore hankserver.jks # 查看证书 keytool -list -v -keystore hankserver.jks -storepass 123456 # 格式转换 p12-> jks keytool -importkeystore -srckeystore hank.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore hank.jks -storepass 123456 pfx -> cer openssl pkcs12 -nodes -nokeys -in xx.pfx -passin pass:xx -out xx.cer jks -> pfx keytool -v -importkeystore -srckeystore hanko.jks -srcstoretype jks -srcstorepass 12345678 -destkeystore hanko.pfx -deststoretype pkcs12 -deststorepass 12345678 -destkeypass 12345678
.ps:
1. ECC标识:EC
2. csr可替换为p10
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具