Java笔记-为客户端及服务端创建公私钥的密钥库

使用密钥库使得客户端与服务器之间进行安全的通信,通过下面的方式生成公钥私钥库:

1. 创建client及server的keystore。

2. 从keystore中导出certificate。

3. 将client的certificate导入到server的keystore,将server的certificate导入到client的keystore。

 

生成客户端及服务端的keystore

下面这个命令生成2048位的RSA key有效期为365天并且别名为server,这些数据都存储到server.jks文件中

keytool -genkey -alias server -keyalg RSA -validity 365 -keystore server.jks
keytool -genkey -alias client -keyalg RSA -validity 365 -keystore client.jks

 

输入这条命令后,会出现输入问题答案

密码全部设置为:

123456

服务端的答案全为:

server

客户端的答案全为:

client

下面是导出公钥证书

使用如下命令从密钥库中提取证书。服务端会生成server.cert,客户端会生成client.cert

keytool -export -file server.cert -keystore server.jks -storepass 123456 -alias server
keytool -export -file client.cert -keystore client.jks -storepass 123456 -alias client

通过如下命令查看证书内容:

keytool -printcert -v -file server.cert

将证书导入到对方密钥库

将客户端证书导入服务端密钥库

keytool -import -file client.cert -keystore server.jks -storepass 123456 -alias client-public

将服务端证书导入客户端密钥库

keytool -import -file server.cert -keystore client.jks -storepass 123456 -alias server-public

总结下,可以使用如下命令确认密钥库中的内容。他将会列出所有在密钥库中有效的证书

keytool -list -v -keystore server.jks -storepass 123456

 

 

 

©️2020 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值