记录怎样把安全证书导入到java中的cacerts证书库?

这次项目上需要去证书中解析公钥所以这里分享下方法:

首先准备一个证书文件比如叫:test.crt(一般是cer结尾)

下一步准备把证书导入到导入java中的cacerts证书库里

方法如下:

比如本地的jdk路径是C:\Program Files\Java\jdk1.8.0_181那么接下来我们要进入C:\Program Files\Java\jdk1.8.0_181\jre\lib\security

这时我是把证书放在当前文件夹的所以终端敲以下命令

可以先敲下keytool -list -keystore cacerts这个命令看下当前有多少个证书

再敲

keytool -import -alias test -keystore "cacerts" -file test.crt

这里要注意证书库名字需要引号不然后边会提示ClassNoFound

此时命令行会提示你输入cacerts证书库的密码,

你敲入changeit就行了,这是java中cacerts证书库的默认密码

进去后会提示你是否信任此证书输入Y或者y就会导入证书

再敲下keytool -list -keystore cacerts会发现多了一个证书这时就证明导入成功了

以后更新时,先删除原来的证书,然后导入新的证书

keytool -list -keystore cacerts

keytool -delete -alias test -keystore "cacerts"(这里似乎可以不敲引号)

keytool -import -alias test -file test.crt -keystore "cacerts"

以上是我导入证书的一些记录

如有错误请大佬指点

谢谢!!

2019-03-07 20:19:57