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
复制代码

 

posted @   梧桐潇雨  阅读(108)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示