Keytool工具的基本使用
前言
keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。下面简单介绍一下Keytool工具的几个基本命令。
创建证书库文件并生成证书
keytool -genkeypair -alias test -storetype PKCS12 -keyalg RSA -keystore test.jks -storepass 12345678 -validity 3650 -keysize 2048
参数说明:
-alias test 条目名test
-keyalg RSA 加密算法RSA
-keysize 2048 密钥长度
-keystore test.keystore 密钥文件存储路径
-validity 3650 有效期3650天,默认90天
可以在jks文件中添加多个密钥,只需条目名不同即可
如:创建test1并指定证书开始时间2020年5月1日,有效期1年
keytool -genkeypair -alias test1 -storetype PKCS12 -keyalg RSA -keystore ./test.jks -storepass 12345678 -startdate 2020/05/01 -validity 365
创建test2并指定使用者为cn=test2,o=test2,c=cn
keytool -genkeypair -alias test2 -storetype PKCS12 -keyalg RSA -keystore ./test.jks -storepass 12345678 -dname "cn=test2,o=test2,c=cn"
查看证书库
通过keytool -list查看证书库中内容(可通过-alias指定显示哪个条目)
keytool -list -keystore test.jks -storepass 12345678
keytool -list -rfc -keystore test.jks -storepass 12345678
以RFC形式输出
keytool -list -v -keystore test.jks -storepass 12345678
详细输出
删除证书条目
keytool -delete -keystore test.jks -storepass 12345678 -alias test2
再次查看证书库可以看到test2条目已经没有了
导出证书
keytool -exportcert -alias test -keystore test.jks -storepass 12345678 -file test.cer
该证书为一张自签名证书
查看证书
keytool -printcert -file test.cer
keytool -printcert -rfc -file test.cer
keytool -printcert -v -file test.cer
生成证书请求
keytool -certreq -alias test1 -keystore test.jks -storepass 12345678 -file test1.csr
利用csr证书请求签发证书
keytool -gencert -keystore test.jks -storepass 12345678 -alias test -infile test1.csr -outfile test1.cer
可以看到test1的颁发者是test
导入证书
可以将颁发的test1.cer导入证书库将原来的test1覆盖
keytool -importcert -file test1.cer -alias test1 -keystore test.jks -storepass 12345678
以上为Keytool工具的基本用法
Keytool常用命令
Keytool工具综合使用
利用Keytool生成多级证书链
之前的博客已经记录,地址如下:https://www.cnblogs.com/werr370/p/14678983.html
利用Keytool实现tomcat双向SSL连接
之前的博客已经记录,地址如下:https://www.cnblogs.com/werr370/p/14637351.html