`
永远的菜鸟
  • 浏览: 54337 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用jdk中keytool生成证书

 
阅读更多

 

-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 是指证书库的密码。

分享到:
评论

相关推荐

    JDK中利用keytool创建自签名证书

    NULL 博文链接:https://yaodaqing.iteye.com/blog/790349

    tomcat配置https

    tomcat7+jdk的keytool生成证书 配置https

    一个生成数字证书工具

    从一个高人那里得到的. 根目录难得的数字证书生成软件下,其中zxpca100.exe文件是用来生成数字证书的,zxpfp100.exe文件是用来给文件加密解密的. 功能强大,唯一的不足的地方时作者版权思想太强了,经常弹出版权信息

    tomcat的双向ssl配置

    使用openssl与jdk的keytool生成根证书,server端证书,浏览器端证书,并配置使工程跑在https上。(带dos脚本)

    bcprov-ext-jdk15on-160.jar

    用于制作Android App进行SSL通信时所需使用的bks格式证书。 为了生成Android用的BKS证书文件,采取如下操作: 1.下载 bcprov-ext-jdk15on-160.jar,复制到jdk_home\jre\lib\ext 2.配置bcprov,在 jdk_home\jre\lib\...

    自签证书制作

    文档主要包括三部分内容 1.证书制作操作记录 通过openssl制作自签三级证书,即根证书、中间... keytool生成的jks证书转换为 p12(pfx/pkcs12)、pem格式证书 4。证书安全说明 常用crt/cer、pem、p12/pfx、jks解释说明

    java keytool gui 图形工具 portecle-1.7.zip

    Portecle 是一个图形化界面的 JDK 中的命令行工具 keytool ,可生成各种不同类型的密钥库,生成并存储相关的 X.509 证书、生成 CSRs、导入和储存信任的证书并进行维护。 http://www.oschina.net/p/portecle

    https配置详解

    使用jdk自带工具配置https协议。tomcat配置方式。这里使用JDK自带的keytool工具来生成证书(jdk里面bin目录下)

    SSL中各证书的转换

    1. cer格式——>JKS (keytool 为JDK自带的,可以在bin目录下找到) keytool -import -alias mycert -file d:\def.cer -keystore mykeystore.jks (导入证书到keystore) 2. JKS——>cer格式 keytool -import -...

    客户端生成。p2秘钥文件.txt

    keytool 生成p12自签名数字证书

    数字证书生成

    keytool 是JDK提供的证书生成工具,所有参数的用法参见keytool –help -genkey 创建新证书 -v 详细信息 -alias tomcat 以”tomcat”作为该证书的别名。这里可以根据需要修改 -keyalg RSA 指定算法 -keystore D...

    keystoke证书转换nginx证书工具

    keystoke证书转换nginx证书工具,jdk keytool.exe生成的.keystore格式证书通过他可以转换为.key、.pfx、.crt证书,用于配置https证书

    JA-SIG(CAS)学习笔记

    STEP 2,使用Java Keytool工具为系统生成HTTPS证书,并为系统注册 (Java Keytool相关资料可参阅:Java keytool 安全证书学习笔记), 在DOS窗体运行以下指令(建议编写一个BAT批处理文件执行) cls rem please ...

    keytool-helper:简单的KeyTool实用程序

    KeyTool Utility项目 该项目试图简化KeyTools的常见操作,例如: ... 为了减少依赖性,已经使用了某些类别的sun.security软件包:可能无法在不同于OpenJDK / Oracle的JDK上进行编译。 如何使用 代码胜过千词:签出 !

    Java环境中配置SSL双向认证.doc

    Java环境中配置SSL双向认证。在Java环境中配置Https双向认证,需要使用JDK自带的keytool工具,在命令行方式下,生成服务器证书申请文CSR,然后到CA签发服务器证书。

    证书查看工具 portecle-1.7

    Portecle 是一个图形化界面的 JDK 中的命令行工具 keytool ,可生成各种不同类型的密钥库,生成并存储相关的 X.509 证书、生成 CSRs、导入和储存信任的证书并进行维护

    jks转pfx,jks导出pfx证书

    使用keytool.exe,将jks格式证书转换成pfx格式证书。由于本工具未包括keytool.exe 需要安装jdk 才能够正常运行。 没有积分的用户可以根据以下命令行手动导出(keytool.exe 可以在jdk安装目录中找到): keytool.exe ...

    ionic 安卓打包

    -v表示将生成证书的详细信息打印出来; -keystore XXXX.keystore 表示证书的文件名; -alias XXXX表示证书的别名; -keyalg RSA生成密钥文件所采用的算法; -validity 40000 该数字证书的有效期,单位是天 ● 输入...

    学习Android客户端和服务器端SSLSocket交互的总结

    这个是我通过学习总结的资料,介绍了如何SSLSocket的一些简单的知识,以及介绍了如何利用JDK自带的keytool工具生成密钥库、证书等,还有Demo作为例子,很好的学习资料。

    落雨博客基于CAS框架的单点登录技术讲解(ppt+code实例+doc)配套资料

    3.1.2 生成证书(这里采用JDK自带的工具keytool) 5 3.1.3 为客户端JVM导入证书 6 3.1.4 将证书应用到Web服务器Tomcat 7 3.1.5 部署CAS服务器 7 3.1.6 深入配制CAS服务器 7 3.1.7 配制CAS客户端 8 3.1.8 用到的jar包...

Global site tag (gtag.js) - Google Analytics