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. 查看证书库中的所有数字证书

keytool -list -rfc -keystore prospectlib -storepass 123456 -storetype JCEKS

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

3. 查看证书详细

keytool -list -v -alias scent -keystore prospectlib -storepass 123456 -storetype JCEKS

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

4. 导入证书

keytool -import -v -trustcacerts -alias scent -file scent.cer -keypass 123456 -keystore prospectlib -storepass 123456

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

5. 导出证书

keytool -export -alias scent -file scent.cer -keystore prospectlib -storepass 123456

注:-export可以写成-exportcert

6. 删除证书

keytool -delete -alias scent -keystore prospectlib -storepass 123456 -storetype JCEKS

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

7. 生成证书签名申请

keytool -certreq -alias scent -sigalg "MD5withRSA" -file scent.csr -keypass 123456 -keystore cacerts.jks -storepass 123456

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

8. 显示证书

keytool -printcert -v -file scent.cer

9. 更改证书别名

keytool -changealias -v -alias scent -destalias perfume -keystore prospectlib -storepass 123456

10. 导入证书库

keytool -importkeystore -v -srckeystore prospectlib -srcstoretype JKS -srcstorepass 123456 -destkeystore intrinsic -deststoretype JKS -deststorepass 123456  -srcalias terrific prospect -destalias terrific prospect

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

11. 修改证书密码

keytool -keypasswd -alias brilliant -keystore range -storepass 123456 -keypass 123456 -new 654321

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

12. 修改证书库密码

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。每个密钥库只可以是其中一种类型。

keytool的使用的更多相关文章

  1. JDK 中的证书生成和管理工具 keytool

    参考资料 该文中的内容来源于 Oracle 的官方文档 Java SE Tools Reference .Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找 ...

  2. JAVA keytool 使用详解

      Keytool是一个Java数据证书的管理工具 ,Keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里,包含两种数据: 密钥实体 ...

  3. JAVA调用 keytool 生成keystore 和 cer 证书

    keytool是一个Java数据证书的管理工具, keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中在keystore里, 包含两种数据: 密钥实体( ...

  4. 用keytool工具生成签名文件与获取摘要信息

    在Command命命令行模式下: 转到工作目录 执行下面命令: keytool -genkey -v -keystore debug.keystore 最后是生成的文件名,执行该命令后有很多内容要填写 ...

  5. 使用keytool生产jks证书

    使用JDK中的keytool生成服务器证书 1.创建服务器KeyStorekeytool -genkey -alias server_jks_cennavi -keyalg RSA  -keystor ...

  6. 使用keytool 生成证书

    keytool 工具介绍 keytool 是java 用于管理密钥和证书的工具,其功能包括: 1 创建并管理密钥 2 创建并管理证书 3 作为CA 为证书授权 4 导入导出证书 keytool 采用k ...

  7. openssl和Java的keytool证书相关的命令总结

    Java的keytool keytool -genkey -alias myserver -keyalg RSA -keysize -keystore oauth-server.keystore -v ...

  8. java keytool证书工具使用小结

    java keytool证书工具使用小结 在Security编程中,有几种典型的密码交换信息文件格式: DER-encoded certificate: .cer, .crt    PEM-encod ...

  9. Java Security:keytool工具使用说明

    Keytool用法说明 Keytool是一个key与cert的管理工具.使用keytool可以管理public key.private key,以及与key之相关的certificate. 1.com ...

  10. keytool命令记录

    1.生成服务器端私钥kserver.keystore文件 2.根据私钥,导出服务器端安全证书 3.将服务器端证书,导入到客户端的Trust KeyStore中 4.生成客户端私钥kclient.key ...

随机推荐

  1. js再学习笔记

    #js再学习笔记 ##基本 1.js严格区分大小写   2.js末尾的分号可加,也可不加   3.六种数据类型(使用typeof来检验数据的类型) `typeof` - undefined: `var ...

  2. CSS3初学篇章_6(自定义动画)

    自定义动画 由于有一部分低版本的浏览器并不支持的问题,所以这个样式要多做兼容,各大浏览器兼容前缀如下: 前缀 浏览器  -webkit  chrome和safari  -moz  firefox  - ...

  3. jQuery 插件autocomplete

    jQuery 插件autocomplete 自动加载 参考: http://www.cnblogs.com/Peter-Zhang/archive/2011/10/22/2221147.html ht ...

  4. Jquery中animate可以操作css样式属性总结

    可以用 animate() 方法来操作所有 CSS 属性吗? 是的,几乎可以!不过,需要记住一件重要的事情:当使用 animate()时, 必须使用 Camel 标记法书写所有的属性名,比如,必须使用 ...

  5. FTP目录或文件名有中文时导致,下载失败的问题

    在FTPClient ftpClient = new FTPClient()代码后, ftpClient.connect(url,port)代码前, 调用ftpClient.setAutodetect ...

  6. Excel导出公共函数

    /// <summary> /// 将一组对象导出成EXCEL /// </summary> /// <typeparam name="T">要 ...

  7. BizTalk开发系列(三) 单机环境下的BizTalk Server 2006 R2安装

    大部分的开发环境都是在单机环境下进行的,今天整理了一下BizTalk Server 2006 R2在单机环境下的安装步骤. 1. 软件需求 在独立服务器中完整安装BizTalk Server 2006 ...

  8. ModSecurity 白名单设置

    方法一.SecRuleRemoveById 指令:通过Rule ID禁用指定规则 #waf whitelist <LocationMatch .*> SecRuleRemoveById 9 ...

  9. JS中的_proto_

    var grandfather = function(){ this.name = "LiuYashion" ; } var father = function(){}; fath ...

  10. Python strip函数用法小结

    声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.lstrip(rm)       删除s字符串中开头处,位于 ...