keytool 简介
keytool命令是密钥和证书管理实用程序。它使用户能够使用数字签名管理他们自己的公钥/私钥对和相关证书,以用于自我认证(用户向其他用户和服务认证自己)或数据完整性和认证服务。
keytool命令还使用户能够缓存其通信对等体的公钥(以证书的形式)。
- keytool命令还使用户能够管理在对称加密和解密(DES)中使用的密钥和密码。
- keytool命令将密钥和证书存储在密钥库中。
证书
证书是来自一个实体(个人,公司等)的数字签名声明,表示某个其他实体的公钥(以及其他一些信息)具有特定值。通常证书会包含以下内容:
证书拥有者名称(CN),组织单位(OU)组织(O),城市(L) 区(ST) 国家/地区( C )
证书的过期时间 证书的颁发机构 证书颁发机构对证书的签名,签名算法,对象的公钥等。
常用命令
-certreq 生成证书作为对证书请求文件的响应
-changealias 更改条目的别名
-delete 删除条目
-exportcert 从密钥库读取与别名关联的证书,并将其存储在cert_file文件中
-genkeypair 生成密钥对(公钥和关联的私钥)
-genseckey 生成一个密钥并将其存储在一个新的KeyStore.SecretKeyEntry标识中alias
-gencert 根据证书请求生成证书
-importcert 从文件中读取证书或证书链cert_file,并将其存储在keystore标识的条目中alias
-importpass 导入口令
-importkeystore 从其他密钥库导入一个或所有条目
-keypasswd 更改条目的密钥口令
-list 列出密钥库中的条目
-printcert 打印证书内容
-printcertreq 打印证书请求的内容
-printcrl 打印 CRL 文件的内容
-storepasswd 更改密钥库的存储口令
使用 keytool -command_name -help 获取command_name用法
常用参数:
-alias <alias> 要处理的条目的别名
-keypass <arg> 密钥口令
-keystore <keystore> 密钥库名称
-storepass <arg> 密钥库口令
-storetype <storetype> 密钥库类型
-file 文件
-v 详细输出
例子
生成密钥对:
keytool -genkeypair -v -alias test -keyalg RSA -keypass 123456 -storepass 123456 -keystore test.keystore -validity 3600
导出证书:
keytool -exportcert -v -alias test -keystore test.keystore -storepass 123456 -file test.cer
导入证书到证书库:
keytool -importcert -v -file ****.cer -keystore test.keystore