jks基础

1、生成非对称密钥以及自签发证书

 

命令:keytool -genkeypair -alias DECAO_TEST -keystore decao.jks

 

解释:生成一对密钥以及一个自签发证书,其中私钥和证书以别名 DECAO_TEST 存储在 decao.jks 文件中。

 

注意:使用上述命令时,命令行会交互的需要手动填写密码、CN、OU 等信息。

 

    2、生成证书请求文件

 

命令:keytool -certreq -file test_server.csr -alias TEST_SERVER -keystore decao.jks

 

解释:将别名为 TEST_SERVER 的公钥和一些个人信息从 decao.jks 文件中导出,作为证书请求文件。

 

    3、签发证书

 

命令:keytool -gencert -infile test_server.csr -outfile test_server.cer -alias TEST_ROOT -keystore decao.jks

 

解释:使用别名为 TEST_ROOT 的私钥为 test_server.csr 签发证书,并保存到 test_server.cer 文件中。

 

    4、从 jks 文件中导出证书

 

命令:keytool -exportcert -alias citiEnc -file citiEnc.cer -keystore decao.jks

 

解释:从decao.jks文件中导出别名为 citiEnc 的证书并存放在  citiEnc.cer 文件中。

 

    5、导入信任证书到 jks 文件

 

命令:keytool -importcert -alias citiEnc -file citiEnc.cer -keystore decao.jks

 

解释:将证书 citiEnc.cer 以别名 citiEnc导入 decao.jks中。

 

注意:这里的目标 jks 文件里不含有指定的别名,此时的导入条目才会以 trustedCertEntry 信任证书的形式保存。

 

    6、导入签发证书到 jks 文件更新证书

 

命令:keytool -importcert -alias citiEnc -file citiEnc.cer -keystore decao.jks

 

解释:将证书 citiEnc.cer 更新到已存在别名 citiEnc的 decao.jks 文件中

 

注意:这里的命令和上述导入信任证书的命令在形式上完全一样,但作用不同。

 

1. 这里的目标 jks 文件里要含有指定的别名,这样 keytool 工具才会理解命令为更新证书,并以 PrivateKeyEntry 的形式保存。

 

2. 在更新被签发证书之前,一定要先将相应的 CA 证书,导入进 jks 文件,否则会报错“keytool 错误 : java.lang.Exception: 无法从回复中建立链”。

 

    7、打印证书内容

 

命令:keytool -printcert -file citiEnc.cer

 

解释:将证书citiEnc.cer的内容打印出来

 

注意:也可以使用 -sslserver ip:port 的参数,直接从网络上打印出某个 ssl server 提供的证书的内容。

 

    8、显示 jks 文件里的内容

 

命令:keytool -list -v -keystore decao.jks

 

解释:显示decao.jks里存储的所有条目

 

注意:这里会要求提供 jks 文件的密码,如果不输入,也可以显示出所有条目信息,但会提示“存储在密钥库中的信息的完整性尚未得到验证!”

 

    9、从 jks 文件删除条目

 

命令:keytool -delete -alias citienc -keystore decao.jks

 

解释:从 decao.jks中删除别名为 citienc的条目

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值