使用keytool工具

转载自czj iteye 的http://czj4451.iteye.com/blog/1487684 

 

J2SDK提供了keytool命令行工具,可以根据指定的参数来创建数字证书。生成的证书或证书库默认保存在命令行当前目录下。 

1. 创建数字证书 

Command代码    收藏代码
  1. keytool -genkey -v -alias scent -dname "CN=John,OU=MNG,O=Corp,L=Hangzhou,ST=Zhejiang,C=CN" -keyalg RSA -keysize 2048 -keypass 123456 -keystore prospectlib -storepass 123456 -storetype JCEKS -validity 900  

注:-genkey可以写成-genkeypair 

dname的值详解: 
  CN(Common Name名字与姓氏) 
  OU(Organization Unit组织单位名称) 
  O(Organization组织名称) 
  L(Locality城市或区域名称) 
  ST(State州或省份名称) 
  C(Country国家名称) 

2. 查看证书库中的所有数字证书  

Command代码    收藏代码
  1. keytool -list -rfc -keystore prospectlib -storepass 123456 -storetype JCEKS  

注:如果证书库是非默认storetype,需要明确指定。 

3. 查看证书详细  

Command代码    收藏代码
  1. keytool -list -v -alias scent -keystore prospectlib -storepass 123456 -storetype JCEKS  

注:如果证书是非默认storetype,需要明确指定。 

4. 导入证书  

Command代码    收藏代码
  1. keytool -import -v -trustcacerts -alias scent -file scent.cer -keypass 123456 -keystore prospectlib -storepass 123456  

注: 
-import可以写成-importcert 
-trustcacerts和-v 可以不写,效果一样 

5. 导出证书  

Command代码    收藏代码
  1. keytool -export -alias scent -file scent.cer -keystore prospectlib -storepass 123456  

注:-export可以写成-exportcert 

6. 删除证书  

Command代码    收藏代码
  1. keytool -delete -alias scent -keystore prospectlib -storepass 123456 -storetype JCEKS  

注:如果证书是非默认storetype,需要明确指定。 

7. 生成证书签名申请  
Command代码    收藏代码
  1. keytool -certreq -alias scent -sigalg "MD5withRSA" -file scent.csr -keypass 123456 -keystore cacerts.jks -storepass 123456  

注:将生成的scent.scr文件发给CA机构来申请签名。 

8. 显示证书  

Command代码    收藏代码
  1. keytool -printcert -v -file scent.cer  


9. 更改证书别名  

Command代码    收藏代码
  1. keytool -changealias -v -alias scent -destalias perfume -keystore prospectlib -storepass 123456  


10. 导入证书库  

Command代码    收藏代码
  1. keytool -importkeystore -v -srckeystore prospectlib -srcstoretype JKS -srcstorepass 123456 -destkeystore intrinsic -deststoretype JKS -deststorepass 123456  -srcalias terrific prospect -destalias terrific prospect  

注:如果不提供-srcalias, -destalias,则会将源库的所有证书导入到目标库中。 

11. 修改证书密码  

Command代码    收藏代码
  1. keytool -keypasswd -alias brilliant -keystore range -storepass 123456 -keypass 123456 -new 654321  

注:如果不提供-keypass,系统会提示你输入新密码。 

12. 修改证书库密码  

Command代码    收藏代码
  1. keytool -storepasswd -v -new 654321 -keystore range -storepass 123456 -storetype JKS  



参数详解:  
-dname   "CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx"   dn名为"CN=..." 
-alias   scent                 别名为scent的一个证书 
-keyalg  
      DSA RSA                     DSA或RSA算法(当使用-genkeypair参数) 
      DES DESede AES       DES或DESede或AES算法(当使用-genseckey参数) 
-keysize  
      512  ~  1024              密钥的长度为512至1024之间(64的倍数)(当使用-genkeypair和-keyalg DSA参数) 
     >  512                        密钥的长度大于512 (当使用-genkeypair和-keyalg RSA参数) 
      56                             密钥的长度为56 (当使用-genseckey和-keyalg DES 参数) 
      112 168                    密钥长度为112或168(当使用-genseckey和-keyalg DESede 参数) 
      128 192 256              密钥长度为128或192或256 (当使用-genseckey和-keyalg AES 参数) 
-keypass    123456               这个证书的私钥密码为123456 
-keystore   prospectlib          证书库的名称为prospectlib 
-storepass   123456              证书库的访问密码为123456 
-validity    900             证书有效期为900天 
-file    scent.cer            从scent.cer文件导入证书,或者导出证书到scent.cer文件 
-v                                显示详细信息 
-rfc                             以Base64的编码格式打印证书 
-storetype   JCEKS           密钥库的类型为JCEKS。常用的有JKS(默认),JCEKS(推荐),PKCS12,BKS,UBER。每个密钥库只可以是其中一种类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值