使用jdk中keytool生成证书

转载 2015年11月20日 09:17:23

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书 
-alias       产生别名
-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg      指定密钥的算法    
-validity    指定创建的证书有效期多少天
-keysize     指定密钥长度
-storepass   指定密钥库的密码
-keypass     指定别名条目的密码
-dname       指定证书拥有者信息 例如:  "CN=sagely,OU=atr,O=szu,L=sz,ST=gd,C=cn"
-list        显示密钥库中的证书信息      keytool -list -v -keystore sage -storepass ....
-v           显示密钥库中的证书详细信息
-export      将别名指定的证书导出到文件  keytool -export -alias caroot -file caroot.crt
-file        参数指定导出到文件的文件名
-delete      删除密钥库中某条目          keytool -delete -alias sage -keystore sage
-keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias sage -keypass .... -new .... -storepass ... -keystore sage
-import      将已签名数字证书导入密钥库  keytool -import -alias sage -keystore sagely -file sagely.crt 
             导入已签名数字证书用keytool -list -v 以后可以明显发现多了认证链长度,并且把整个CA链全部打印出来。

------------------------------------------------------------------------------------------------

keytool JAVA是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。通过keytool –help查看其用法,详细信息可以参考http: //java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html 

创建证书Java 中的 keytool.exe (位于 JDK/Bin 目录下)可以用来创建数字证书,所有的数字证书是以一条一条(采用别名区别)的形式存入证书库的中,证书库中的一条证书包含该条证书的私钥,公钥和对应的数字证书的信息。证书库中的一条证书可以导出数字证书文件,数字证书文件只包括主体信息和对应的公钥。 
每一个证书库是一个文件组成,它有访问密码,在首次创建时,它会自动生成证书库,并要求指定访问证书库的密码。 
在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,它们的意思是: 
? CN(Common Name - 名字与姓氏):其实这个“名字与姓氏”应该是域名,比如说localhost或是blog.devep.net之类的。输成了姓名,和真正运行的时候域名不符,会出问题。浏览器访问时,弹出一个对话框,提示“安全证书上的名称无效,或者与站点名称不匹配”,用户选择继续还是可以浏览网页。但是用http client写程序访问的时候,会抛出类似于“javax.servlet.ServletException: HTTPS hostname wrong: should be ”的异常。 
? OU(Organization Unit - 组织单位名称) 
? O(Organization - 组织名称) 
? L(Locality - 城市或区域名称) 
? ST(State - 州或省份名称) 
? C(Country - 国家名称) 
可以采用交互式让工具提示输入以上信息,也可以采用参数,如:-dname “CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx”来自动创建。 

创建一个证书 
指定证书库为 D:/keystore/test,创建别名为 Tomcat 的一条证书,它指定用 RSA 算法生成,且指定密钥长度为 1024,证书有效期为 1 年: 
keytool -genkey -alias Tomcat -keyalg RSA -keysize 1024 -keystore C:/keystore/test -validity 365 
显示证书库中的证书使用如下命令: keytool -list -keystore C:/keystore/test 将显示 C:/keystore/test 证书库的的所有证书列表 

导出到证书文件 
使用命令:keytool -export -alias Tomcat -file C:/keystore/TC.cer -keystore C:/keystore/test 将把证书库C:/keystore/test 中的别名为 Tomcat 的证书导出到 TC.cer 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。 
导出的证书文件是以二进制编码文件,无法用文本编辑器正确显示,可以加上 -rfc参数以一种可打印的编者编码输出。 如: 
keytool -export -alias Tomcat -file C:/keystore/TC.cer -keystore C:/keystore/test –rfc 

查看证书的信息 
通过命令: keytool -printcert -file D:/keystore/TC.cer 可以查看证书文件的信息。 也可以在 Windows 资源管理器中双击产生的证书文件直接查看。 

删除密钥库中的条目 
keytool -delete -alias Tomcat -keystore C:/keystore/test 
这条命令将 C:/keystore/test 库中的 Tomcat 这一条证书删除了。 

修改证书条目口令 
keytool -keypasswd -alias Tomcat -keystore C:/keystore/test,可以以交互的方式修改 C:/keystore/test 证书库中的条目为 Tomcat 的证书。 
Keytool -keypasswd -alias Tomcat -keypass oldpasswd -new newpasswd -storepass storepasswd -keystore C:/keystore/test 这一行命令以非交互式的方式修改库中别名为 Tomcat 的证书的密码为新密码 newpasswd,行中的 oldpasswd 是指该条证书的原密码, storepasswd 是指证书库的密码。

tomcat配置https–采用JDK自带的keytool工具生成证书

有关http与https的区别请看《浅谈http与https的区别(转)》 目前我们看到的很多网站采用的都是http协议,信息是明文传输的,很容易被黑客或是有恶意行为的人截获,所以对于安全系...
  • huangxinyu_it
  • huangxinyu_it
  • 2014年12月03日 10:35
  • 2308

windows和Linux系统使用java keytool工具生成cas单点登录数字证书

Windows数字证书 生成数字证书 1> 进入[%JAVA_HOME%]路径下 cd C:\Program Files (x86)\Java\jdk1.6.0_39\bin2> 生成证书 ke...
  • wangbailin2009
  • wangbailin2009
  • 2015年11月03日 15:47
  • 3559

利用JDK的keytool工具生成证书的DOS命令

1、生成服务器端证书:  E:\jdk1.6\bin>keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:/SSL/serv  er/...
  • baidu_18607183
  • baidu_18607183
  • 2016年07月07日 11:03
  • 802

使用jdk keytool 生成cas证书

正在学习单点登录相关知识,模拟生成一个cas证书。 1.新建一个文件加,名为e:/key。2.输入生成证书 的命令: keytool -genkey -alias tomcat -keyalg R...
  • qq_27603235
  • qq_27603235
  • 2016年11月17日 23:03
  • 432

使用Keytool为JDK添加https证书信任

原文地址: http://www.cnblogs.com/wupher/archive/2012/08/05/2623561.html https://www.cnblogs.com/...
  • haozhongjun
  • haozhongjun
  • 2016年12月08日 10:03
  • 2347

使用Keytool为JDK添加证书

该文为在 Mac 上使用Keytool为JDK添加证书。导入证书通过 keytool 命令来导入证书,注意导入时需要管理员权限,所以命令前面要加sudo sudo keytool -import -n...
  • lzx_2011
  • lzx_2011
  • 2017年02月13日 20:56
  • 1726

用keytool创建秘钥库以及导入导出数字证书等操作

用keytool创建秘钥库以及导入导出数字证书等操作,包括:生成秘钥库并创建一个条目、往已经存在的秘钥库中添加条目、查看秘钥库中的信息、导出数字证书文件、将数字证书导入到自己的JRE证书库中、从JRE...
  • pucao_cug
  • pucao_cug
  • 2017年04月11日 23:46
  • 3025

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

转自 http://www.cnblogs.com/youxia/p/java002.html 一篇比较全面的讲解文章 阅读目录 参考资料 网络安全概论 使用keytool创建和管...
  • cnhome
  • cnhome
  • 2016年08月04日 23:23
  • 1301

用java8的keytool生成自签名密钥库的方法

keytool -genkeypair -alias root -keypass 12344321   -keysize 1024 -validity 365 -keystore root.jks...
  • dinsonyoung
  • dinsonyoung
  • 2015年07月10日 13:23
  • 1458

用Jdk自带工具keytool生成受信任的证书

一、创建证书keystore 创建证书keystore的过程。 操作步骤 使用JDK自带的命令keytool创建“keystore”文件,其中包含了密钥。在命令行窗口中输入以下命令: key...
  • s464036801
  • s464036801
  • 2013年09月05日 19:07
  • 1206
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用jdk中keytool生成证书
举报原因:
原因补充:

(最多只允许输入30个字)