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. centos重启不能自动联网的解决方法

    在命令行下输入 下面的ifcfg-eth0,eth0为我的网卡名字.机器之间不同,请先查看自己网卡的名字 vi /etc/sysconfig/network-scripts/ifcfg-eth0 进行 ...

  2. Javascript算术运算

    Javascript中Math对像的一些复杂算术运算方法: Math.pow(2,53)  //2的53次幂 结果:9007199254740992 Math.round(0.6)  //0.6四舍五 ...

  3. angular+ckeditor最后上传的最后一张图片不会被添加(bug)

    做法一: angularJs+ckeditor 一.页面 <textarea ckeditor required name="topicContent" ng-model=& ...

  4. Apache Spark技术实战之6 -- spark-submit常见问题及其解决

    除本人同意外,严禁一切转载,徽沪一郎. 概要 编写了独立运行的Spark Application之后,需要将其提交到Spark Cluster中运行,一般会采用spark-submit来进行应用的提交 ...

  5. 直观友好的单个memcache监控工具:phpmemcache.php

    上传phpmemcache.php到指定文件 修改文件中的: define('ADMIN_USERNAME','user');     // Admin Usernamedefine('ADMIN_P ...

  6. CGContextAddCurveToPoint 的深入理解

    CGContextAddCurveToPoint 这个函数看上去一般般,仔细琢磨发现不简单,为什么三个点就可以确定一条曲线呢? 网上查了查,小小研究了一下下. 1.关键知识 窃取自 (http://l ...

  7. android MotionEvent获得当前位置

    event.getY()与event.getX()为当前触摸位置距离当前元素顶端和左端的距离: event.getRowY()与event.getRowX()为当前触摸位置距离当前屏幕顶端和左端的距离 ...

  8. spring 以Ant Build方式运行build.xml文件,报warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds 的解决办法

    Buildfile: F:\experience\spring_pdf\sourcecode\example1\build.xml compile: [javac] F:\experience\spr ...

  9. css使input中的值自动变大写

    <style type="text/css"> input { text-transform:uppercase; } </style>

  10. MVC 发布

    发布为局域网可用:以IP地址访问 安装IIS 发布 出现的错误: 处理程序"BlockViewHandler"在其模块列表中有一个错误模块"ManagedPipeline ...