Java制做证书的工具keytool用法总结

1、keytool的概念

keytool 是个密钥和证书管理工具。它使用户可以管理本身的公钥/私钥对及相关证书,用于(经过数字签名)自我认证(用户向别的用户/服务认证本身)或数据完整性以及认证服务。在JDK 1.4之后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.exe,以下图所示:java

2、keytool的用法

3、建立证书

建立证书主要是使用" -genkeypair",该命令的可用参数以下:算法

Cmd代码工具

keytool -genkeypair -alias "test1" -keyalg "RSA" -keystore "test.keystore"

功能:加密

建立一个别名为test1的证书,该证书存放在名为test.keystore的密钥库中,若test.keystore密钥库不存在则建立。spa

参数说明:操作系统

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

-alias:指定密钥对的别名,该别名是公开的;
-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;blog

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

注意:域名

      1.密钥库的密码至少必须6个字符,能够是纯数字或者字母或者数字和字母的组合等等

  2."名字与姓氏"应该是输入域名,而不是咱们的我的姓名,其余的能够不填

在上述图片遇到keytool 错误: java.io.FileNotFoundException: test.keystore (拒绝访问。)这是由于权限问题:你的jdk目录在c盘,当前用户无写入权限。

因此要么更改jdk的保存目录,要么更改权限。

我将jdk目录保存到了D盘

行完上述命令后,在操做系统的用户目录下生成了一个"test.keystore"的文件,以下图所示:

4、查看密钥库里面的证书

范例:查看test.keystore这个密钥库里面的全部证书

Cmd代码

keytool -list -keystore test.keystore

5、导出到证书文件

范例:将名为test.keystore的证书库中别名为test1的证书条目导出到证书文件test.crt中

Cmd代码

keytool -export -alias test1 -file test.crt -keystore test.keystore

运行结果:在操做系统的用户目录下生成了一个"test.crt"的文件,以下图所示:

6、导入证书

范例:将证书文件test.crt导入到名为test_cacerts的证书库中

Cmd代码:

keytool -import -keystore test_cacerts -file test.crt

7、查看证书信息

范例:查看证书文件test.crt的信息

Cmd代码:

keytool -printcert -file "test.crt"

8、删除密钥库中的条目

范例:删除密钥库test.keystore中别名为test1的证书条目

Cmd代码:

keytool -delete -keystore test.keystore -alias test1

9、修改证书条目的口令

范例:将密钥库test.keystore中别名为test2的证书条目的密码修改成xdp123456

Cmd代码:

keytool -keypasswd -alias test2 -keystore test.keystore

相关文章
相关标签/搜索