使用 keytool 生成密钥对 + keytool 命令详解
使用 keytool 生成密钥对 + keytool 命令详解
keytool是jdk提供用来生成SSL/TLS密钥的工具。
使用案例:
这里只考虑密钥仓库的使用,假设有AB两台服务器,A的证书为cerA,B的证书为cerB,可以通过keytool导出cer证书,该证书内部包含了公钥。
-
当需要双向认证的时候,比如内部服务器之间相互传输数据,为了安全考虑使用了SSL/TLS在传输层和应用层之间进行数据加密。为了进行双向认证,这时候就需要双方都持有对方的导出的证书。即需要将cerB导入进A服务器的密钥仓库,将cerA导入到B服务器的密钥仓库,这是服务双方都含有对方的公钥,可以进行双向认证。
-
当只需要单向认证的时候,一般是客户端验证服务端,所以客户端需要导入服务端的证书。
一、生成密钥对
参数详解:
-genkeypair
:原-genkey
,Java 1.6 之后更改,表示生成密钥对-alias
:产生别名,每个 keystore 都会关联这一个独一无二的 alias,alias 不区分大小写-keyalg
:指定产生密钥的算法-keypass
:指定别名条目的密码(私钥的密码)-sigalg
:签名算法名称-dname
:唯一判别名,cn 所有者名称,ou 组织单位名称,o 组织名称,l 城市或区域名称,st 州或省份名称,c 两字母国家代码-validity
:有效天数-keystore
:密钥库名称-storetype
:密钥库类型-storepass
:密钥库口令
二、查看密钥库
-list
:列出密钥库中的条目-v
:详细输出-keystore
:密钥库文件
三、keytool 全部命令
1)二级命令参数
-list
列出密钥库中的条目
命令示例:keytool -list -keystore keystore.jks -storepass password
-genkeypair
生成密钥对
命令示例:keytool -genkeypair -alias own-alias -keyalg RSA -sigalg SHA256withRSA -dname "cn=zolmk,ou=zolmk,o=zolmk,l=HN,st=HN,c=CN" -validity 3650 -storetype JKS -keypass password -storepass password -keystore keystore.jks
-genseckey
生成密钥
-certreq
生成证书请求
-changealias
更改条目的别名
-delete
删除条目
-exportcert
导出证书
命令示例:keytool -exportcert -alias nettyServer -keystore nettyServer.jks -file nettyServer.cer -storepass password
-gencert
根据证书请求生成证书
-importcert
导入证书或证书链
命令示例:keytool -importcert -trustcacerts -alias nettyServer -file nettyServer.cer -storepass password -keystore nettyClient.jks
-importpass
导入口令
-importkeystore
从其他密钥库导入一个或所有条目
-keypasswd
更改条目的密钥口令
-printcert
打印证书内容
-printcertreq
打印证书请求的内容
-printcrl
打印 CRL 文件的内容
-storepasswd
更改密钥库的储存口令
__EOF__

本文链接:https://www.cnblogs.com/zolmk/p/14101544.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?