java将SSL证书导入系统密钥库

之前安装JIRA和Confluence,配置了SSL证书之后遇到应用程序链接的问题:

java将SSL证书导入系统密钥库

SSL证书不被信任,导致JIRA和Confluence无法关联。

尝试过很多办法无果之后打算放弃。

最终还是放弃了......

你以为这篇博客已经结束了?

其实它并没有,我只是想凑个字数,让文章看起来饱满一些。

因为解决的办法我已经找到了,而且很简单。

———————————下面开始敲黑板,划重点—————————————

1.登录服务器,将InstallCert.java下载到本地,并通过java进行编译: 

# git clone https://github.com/escline/InstallCert.git
# javac InstallCert.git

2.访问服务器,并检索证书,格式为:

java InstallCert [域名]:[端口]

# java InstallCert www.test.abcd.com:443

Loading KeyStore /usr/local/jdk1.8.0_161/jre/lib/security/cacerts...
Opening connection to www.test.abcd.com:443...
Starting SSL handshake... ....... Added certificate to keystore 'jssecacerts' using alias 'www.test.abcd.com-1'

3. 从创建的jssecacerts密钥库中提取证书,格式为:

keytool -exportcert -alias [域名]-1 -keystore jssecacerts -storepass changeit -file [域名].cer

# keytool -exportcert -alias www.test.abcd.com-1 -keystore jssecacerts -storepass changeit -file www.test.abcd.com.

Certificate stored in file <www.test.abcd.com.cer>

4. 将证书导入到系统密钥库中,格式为:

keytool -importcert -alias [域名] -keystore [系统密钥库路径] -storepass changeit -file [域名] .cer

# keytool -importcert -alias www.test.abcd.com -keystore /usr/local/jdk1.8.0_161/jre/lib/security/cacerts -storepass changeit -file www.test.abcd.com.cer

......

Owner
......
输入yes
Trust this certificate? [no]: yes Certificate was added to keystore

  

注意:如果在导入证书时遇到类似如下的报错,

keytool 错误: java.lang.Exception: 证书未导入, 别名 <www.test.abcd.com> 已经存在

怕是玩不下去了......

因为第一次遇到这个问题,所以我也不知道怎么办。

不妨试试“keytool --help”,结果让我看到了-delete 参数,仿佛看到了一丝希望。

于是我又试了一下 “keytool -delete --help”,找到了-alias,这时我会心的一笑,似乎明白了什么,既然可以导入,那就一定可以删除。

# keytool -delete -alias www.test.abcd.com -keystore /usr/local/jdk1.8.0_161/jre/lib/security/cacerts -storepass changeit

没有输出?没有输出就是最好的输出,再次尝试导入命令:

# keytool -importcert -alias www.test.abcd.com -keystore /usr/local/jdk1.8.0_161/jre/lib/security/cacerts -storepass changeit -file www.test.abcd.com.cer

成功了!JIRA和Confluence操作一样。

5.最后,不要忘记重启连个服务。登录页面再次查看:

java将SSL证书导入系统密钥库

可以说是很完美了~

上一篇:postgresql分组后获取第一条数据


下一篇:表单生成器(Form Builder)之mongodb表单数据查询——返回分页数据和总条数