常用的Java Keytool Keystore命令
Java keytool是密钥和证书管理工具。它使用户能够管理自己的公司对象及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。
一。密钥工具创建和导入命令
创建密钥库和密钥对
生成Java密钥库和密钥对
keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048
为存在的密钥库生成证书请求文件CSR
为现有Java密钥库生成证书签名请求(CSR)
keytool -certreq -alias mydomain -keystore keystore.jks -file mydomain.csr
导入根证书或中级证书到密钥库
将根CA或中间CA证书导入现有Java密钥库
keytool -import -trustcacerts -alias root -file mydomain.crt -keystore keystore.jks
导入SSL服务器证书到密钥库
将已签名的主证书导入现有Java密钥库
keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks
为存在的密钥库生成自签名证书
生成密钥库和自签名证书
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
二。密钥工具查看命令
查看单个证书
检查独立证书
keytool -printcert -v -file mydomain.crt
列出密钥存储存在的所有证书
检查Java密钥库中的证书
keytool -list -v -keystore keystore.jks
使用别名查看密钥存储特定条目
使用别名检查特定的密钥库条目
keytool -list -v -keystore keystore.jks -alias mydomain
三。其他的keytool命令
删除密钥库里面指定证书
从Java Keytool密钥库中删除证书
keytool -delete -alias mydomain -keystore keystore.jks
更改keysore密码
更改Java密钥库密码
keytool -storepasswd -new new_storepass -keystore keystore.jks
导出密钥库里面的指定证书
从密钥库导出证书
keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks
列出信任的CA证书
列出可信CA Certs
keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts
导入新的CA到信任证书
将新CA导入受信任的证书
keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts
密钥工具介绍
Keytool是一个Java数据证书的管理工具,Keytool将密钥(密钥)和证书(证书)存在一个称为密钥库的文件中在keystore里,包含两种数据:密钥实体(密钥实体) - 密钥(秘密密钥)或者是私密和配对公司(采用非对称加密)可信任的证书实体(可信证书条目) - 只包含公司。
JDK中的keytool常用参数说明(不同版本有差异,详细可参见【附录】中的官方文档链接):
- -genkey在用户主目录
- -genkey在用户主目录中创建一个默认文件“.keystore”,还会产生一个mykey的别名,mykey中包含用户的公称,私钥和证书(在没有指定生成位置的情况下,keystore会存在用户系统默认目录)
- -alias产生别名每个keystore都关联这一个独一无二的别名,这个别名通常不区分大小写
- -keystore指定密钥库库的名称(产生的各类信息将不在.keystore文件中)
- -keyalg指定密钥的算法(如RSA DSA,默认值为:DSA)
- -validity指定创建的证书有效期多少天(默认90)
- -keysize指定密钥长度(默认1024)
- -storepass指定密钥库的密码(获取密钥库信息所需的密码)
- -keypass指定别名条目的密码(私钥的密码)
- -dname指定证书发行者信息其中:“CN =名字与姓氏,OU =组织单位名称,O =组织名称,L =城市或区域名称,ST =州或省份名称,C =单位的两字母国家代码”
- -list显示密钥库库中的证书信息keytool -list -v -keystore指定密钥库-storepass密码
- -v显示密钥库库中的证书详细信息
- -export将别名指定的证书导出到文件keytool -export -alias需要导出的别名-keystore指定keystore -file指定导出的证书位置及证书名称-storepass密码
- -file参数指定导出到文件的文件名
- -delete删除密钥库中某条目keytool -delete -alias指定需删除的别-keystore指定密钥库 - storepass密码
- -printcert查看导出的证书信息keytool -printcert -file g:\ sso \ michael.crt
- -keypasswd修改密钥库库中指定条目口令keytool -keypasswd -alias需修改改别别名-keypass旧密码-new新密码-storepass密钥库密码-keystore sage
- -storepasswd修改密钥库口令keytool -storepasswd -keystore g:\ sso \ michael.keystore(需修改口令的密钥库)-storepass pwdold(原始密码)-new pwdnew(新密码)
- -import将已签名数字证书导入密钥库密钥工具-import -alias指定导入条目的别名-keystore指定密钥库-file需导入的证书
- 中创建一个默认文件”的.keystore”,还会产生一个的myKey的别名,的myKey中包含用户的公钥,私钥和证书(在没有指定生成位置的情况下,密钥库会存在用户系统默认目录)
- -alias产生别名每个keystore都关联这一个独一无二的别名,这个别名通常不区分大小写
- -keystore指定密钥库库的名称(产生的各类信息将不在.keystore文件中)
- -keyalg指定密钥的算法(如RSA DSA,默认值为:DSA)
- -validity指定创建的证书有效期多少天(默认90)
- -keysize指定密钥长度(默认1024)
- -storepass指定密钥库的密码(获取密钥库信息所需的密码)
- -keypass指定别名条目的密码(私钥的密码)
- -dname指定证书发行者信息其中:“CN =名字与姓氏,OU =组织单位名称,O =组织名称,L =城市或区域名称,ST =州或省份名称,C =单位的两字母国家代码”
- -list显示密钥库库中的证书信息keytool -list -v -keystore指定密钥库-storepass密码
- -v显示密钥库库中的证书详细信息
- -export将别名指定的证书导出到文件keytool -export -alias需要导出的别名-keystore指定keystore -file指定导出的证书位置及证书名称-storepass密码
- -file参数指定导出到文件的文件名
- -delete删除密钥库中某条目keytool -delete -alias指定需删除的别-keystore指定密钥库 - storepass密码
- -printcert查看导出的证书信息keytool -printcert -file g:\ sso \ michael.crt
- -keypasswd修改密钥库库中指定条目口令keytool -keypasswd -alias需修改改别别名-keypass旧密码-new新密码-storepass密钥库密码-keystore sage
- -storepasswd修改密钥库口令keytool -storepasswd -keystore g:\ sso \ michael.keystore(需修改口令的密钥库)-storepass pwdold(原始密码)-new pwdnew(新密码)
- -import将已签名数字证书导入密钥库密钥工具-import -alias指定导入条目的别名-keystore指定密钥库-file需导入的证书
转载:https://blog.csdn.net/ctwy291314/article/details/80016518