证书创建和管理工具 Keytool用法总结

SUN公司提供了创建和管理证书的工具keytool,一般放在jdk下<JAVA_HOME>\bin\keytool.exe。

先来说一下加解密算法的分类。基本上可以分为三类,它们分别是对称性解密算法、非对称性加密算法和消息摘要算法。

对称性加密算法使用同一个密钥对信息进行加密和解密,其信息的安全性一部分取决于加密算法和密钥的长度,另一部分取决于密钥在传递过程中是否会被截获或盗取。

非对称性加密算法使用两个密钥分别对信息进行加密和解密,这两个密钥称为私钥/公钥对。使用私钥加密的信息必须使用公钥解密,反之亦然。公钥可以公开发布,私钥由加密方保存,绝对不公开,将私钥被截获或窃取的可能性降到最低,因此非对称性加密算法的安全性比对称性加密算法的安全性更高。

Keytool将密钥(key)和证书(certificates)存在一个称为keystore的密钥库中。在keystore里,包含两种数据:密钥实体(Key entity)-密钥(secret key)或者是私钥和配对公钥(采用非对称加密)可信任的证书实体(trusted certificate entries)-只包含公钥。

要进行非对称性加密,我们首先要有属于自己的私钥/公钥对,创建密钥对的时候, keytool 会在 keystore 中生成一个新的条目,-alias xxx 选项就是对该条目进行命名。生成密钥对之后,私钥是以原始数据直接储存在 keystore 中的,而公钥是要发布出去的,所以它被封装在一个 X.509 格式的自签名证书中。换句话说,创建密钥对的时候,同时就创建了一个自签名的证书。

1 在密钥库中创建证书条目

keytool -genkey -keyalg RSA -alias aliceCA -dname "cn=localhost"-keystoreserver.keystore -storepass changeit -validity 3650

功能:

创建一个别名为aliceCA的证书条目,该条目存放在名为server.keystore的密钥库中,若server.keystore密钥库不存在则创建。

参数说明:

-genkeypair:生成一对非对称密钥;

-alias:指定密钥对的别名,该别名是公开的;

-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;

-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个".keystore"的文件

-storepass:密钥库密码为changeit

aliceCA的证书条目也有一个密码,可以与密钥库密码相同,也可以在命令行交互式指定。

2 查看证书库中的证书条目

keytool -list -keystore server.keystore

keytool –list -v -keystore server.keystore

3 把证书条目导出到证书文件中

keytool -export -alias aliceCA -file server.cer -keystore server.keystore -storepass changeit

4 把证书导入到证书库(客户端)中(将证书文件server.cer导入到证书库CAcerts中)

keytool -import -alias aliceCA -fileserver.cer -keystore CAcerts-storepass changeit

keytool -import -trustcacerts -alias cntvCA-file F:/projects/cntv.neulion.com.cn.crt -keystore "C:/ProgramFiles/Java/jdk1.8.0_71/jre/lib/security/cacerts" -storepass changeit

CAcerts位于jdk下jre/lib/security下面

-trustcacerts(官方文档:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html)

Before adding the certificate to the keystore, keytooltries to verify it by attempting to construct a chain of trust fromthat certificate to a self-signed certificate (belonging to a rootCA), using trusted certificates that are already available in thekeystore.

If the -trustcacerts option has been specified,additional certificates are considered for the chain of trust,namely the certificates in afile named"cacerts".

5 查看证书文件的信息

keytool -printcert -file server.cer

6 删除密钥库中的条目

keytool -delete -keystore server.keystore -alias aliceCA

7 修改证书条目的密码

keytool -keypasswd -alias aliceCA -keystore server.keystore

这里需要输入密钥库密码,输入旧的证书条目密码,然后输入新的证书条目密码。

keytool -keypasswd -alias aliceCA -keypass 旧密码 -new 新秘密 -storepass 密钥库密码 -keystore server.keystore


数字证书管理工具V2.0-使用java图形化编写,安装版直接安装使用(由于上传大小的限制,本版本为不带jre版,使用前请确保环境中已经安装过jdk) 数字证书管理工具V2.0: 包括三个视图,分别是:密钥库列表、证书库列表、证书管理维护界面;其中密钥库列表用于显示默认密钥库中的所有条目;证书库列表用于显示默认证书库中的所有数字证书证书管理维护界面分为左右两部分,左半部分可以显示条目或者数字证书的详细信息,右半部分可以用于新建条目或者数字证书。另外,还可以对外部密钥库或者证书进行操作(V2.0新增功能)。 以下是三个视图的具体功能: =================================== 密钥库列表视图功能 1.双击条目可以在证书管理维护界面左半部分显示此条目的具体信息; 2.右击条目出现上下文操作菜单; 3.刷新条目; 4.清除屏幕; 5.查看证书; 6.签发证书; 7.修改口令; 8.生成证书; 9.导出证书; 10.删除条目; 11.导出对应密钥库; 12.导出p12个人证书; =================================== 证书库列表视图功能 1.双击证书可以在证书管理维护界面左半部分显示此证书的具体信息; 2.右击证书出现上下文操作菜单; 3.刷新证书; 4.清除屏幕; 5.查看证书; 6.公钥验证; 7.导入证书; 8.导出证书; 9.删除证书; =================================== 证书管理维护界面视图功能 1.数字证书显示界面:显示数字证书的详细信息,包括:证书信息、颁发给、颁发者、有效期、版本号、序列号、签名算法、有效期起始日期、有效期终止日期、主题、公钥、签名; 2.数字证书管理界面:新建条目或者数字证书,可输入条目或者数字证书具体的信息,包括CN(名字与姓氏)、OU(组织单位名称)、O(组织名称)、L(城市名称)、ST(省份名称)、C(国家代码)、Alia(别名)、KeyAlg(加密算法)、Validity(有效期)、生成类型; =================================== 对外部密钥库或者证书进行的操作有: 1.打开外部数字证书,查看证书详情; 2.查看外部密钥库中的所有条目,可以对其中的条目进行查看信息、生成证书、导出证书、修改口令、删除条目等操作; 3.将已签名的数字证书导入到密钥库中 ============================================================================ ==================================================================================================================================================================================================================================== 数字证书管理工具V1.0,广西大学计算机与电子信息学院 数字证书管理工具V1.0: 包括三个视图,分别是:密钥库列表、证书库列表、证书管理维护界面;其中密钥库列表用于显示默认密钥库中的所有条目;证书库列表用于显示默认证书库中的所有数字证书证书管理维护界面分为左右两部分,左半部分可以显示条目或者数字证书的详细信息,右半部分可以用于新建条目或者数字证书。 以下是三个视图的具体功能: =================================== 密钥库列表视图功能 1.双击条目可以在证书管理维护界面左半部分显示此条目的具体信息; 2.右击条目出现上下文操作菜单; 3.刷新条目; 4.清除屏幕; 5.查看证书; 6.签发证书; 7.修改口令; 8.生成证书; 9.导出证书; 10.删除条目; =================================== 证书库列表视图功能 1.双击证书可以在证书管理维护界面左半部分显示此证书的具体信息; 2.右击证书出现上下文操作菜单; 3.刷新证书; 4.清除屏幕; 5.查看证书; 6.公钥验证; 7.导入证书; 8.导出证书; 9.删除证书; =================================== 证书管理维护界面视图功能 1.数字证书显示界面:显示数字证书的详细信息,包括:证书信息、颁发给、颁发者、有效期、版本号、序列号、签名算法、有效期起始日期、有效期终止日期、主题、公钥、签名; 2.数字证书管理界面:新建条目或者数字证书,可输入条目或者数字证书具体的信息,包括CN(名字与姓氏)、OU(组织单位名称)、O(组织名称)、L(城市名称)、ST(省份名称)、C(国家代码)、Alia(别名)、KeyAlg(加密算法)、Validity(有效期)、生成类型; (由于上传大小的限制,本版本为不带jre版,使用前请确保环境中已经安装过jdk)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山西茄子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值