JDK自带工具keytool生成ssl证书

Keytool 命令手册
https://www.namecheap.com/support/knowledgebase/article.aspx/9441/0/tomcat-using-keytool
工具:利用java 安装目录 bin下的keytool.exe
这里写图片描述

生成证书的默认路径 :

这里写图片描述
内容概览:
keytool的几个常用的命令。
1.创建证书
2.查看证书库
3.导出证书文件
4.导入证书的信息
5.查看证书信息
6.删除密钥库中的条目
7.修改证书条目的口令


预备知识:
keytool的概念
SUN公司提供了制作证书的工具keytool。
在JDK 1.4以后的版本中都包含了这一工具,它的位置为\bin\keytool.exe。


主要内容:
1.创建证书
Cmd代码

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

这里写图片描述
说明:
密钥库密码为testtest
证书条目密码为testtest1,若别名为test2则密码为testtest2
这样为个不乱
功能:
创建一个别名为test1的证书条目,该条目存放在名为test.keystore的密钥库中,若test.keystore密钥库不存在则创建。
参数说明:
-genkeypair:生成一对非对称密钥;
-alias:指定密钥对的别名,该别名是公开的;
-keyalg:指定加密算法,本例中的采用通用的RAS加密算法;
-keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个”.keystore”的文件
注意:
1.“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;
2.再次输入密码,第一次输入的是密钥库(keystore)的密码,第二次输入的是证书条目的密码
3.这里所说的证书库和密钥库是等同的(个人观点)
为了测试需要,这里再创建两个别名为test2和test3的证书条目在test.keystore密钥库中,代码如下:
Cmd代码

1. keytool -genkeypair -alias "test2" -keyalg "RSA" -keystore "test.keystore"  
2. keytool -genkeypair -alias "test3" -keyalg "RSA" -keystore "test.keystore"     

2.查看证书库
Cmd代码

1. keytool -list -keystore test.keystore  

这里写图片描述
功能:
查看名为test.keystore的证书库中的证书条目
3.导出到证书文件
Cmd代码

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

这里写图片描述
功能:
将名为test.keystore的证书库中别名为test1的证书条目导出到证书文件test.crt中
4.导入证书的信息
Cmd代码

1. keytool -import -keystore test_cacerts -file test.crt   

这里写图片描述

功能:
将证书文件test.crt导入到名为test_cacerts的证书库中,
5.查看证书信息
Cmd代码

1. keytool -printcert -file "test.crt"   

这里写图片描述

功能:
查看证书文件test.crt的信息
6.删除密钥库中的条目
删除前查看密钥库test.keysote中的证书条目
Cmd代码

1. keytool -list -keystore test.keystore  

删除密钥库test.keystore中别名为test2的证书条目
Cmd代码

1. keytool -delete -keystore test.keystore -alias test2  

删除后查看密钥库test.keystore中的证书条目
Cmd代码

1. keytool -list -keystore test.keystore  

这里写图片描述
7.修改证书条目的口令
交互的方式
Cmd代码

1. keytool -keypasswd -alias test1 -keystore test.keystore  

这里写图片描述

功能:
将密钥库test.keystore中别名为test1的证书条目的密码修改为testtesttest1
非交互方式
Cmd代码

1. keytool -keypasswd -alias test1 -keypass testtesttest1 -new testtest1 -storepass testtest -keystore test.keystore  

Cmd代码

1. keytool -keypasswd -alias test1 -keypass testtesttest1 -new testtest1 -storepass testtest -keystore test.keystore  

功能:
将密钥库test.keystore中别名为test1的证书条目的密码修改为testtest1

从其他秘钥库导入一个或所有条目(即在java中pkcs12 和jks的相互转换):

JKS → P12
keytool -importkeystore -srckeystore keystore.jks -srcstoretype JKS -deststoretype PKCS12 -destkeystore keystore.p12

P12 → JKS
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore keystore.jks

来自 http://spdx4046.iteye.com/blog/1554577

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值