java将SSL证书导入系统密钥库
之前安装JIRA和Confluence,配置了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证书导入系统密钥库的更多相关文章
- Java https ssl证书导入删除
下载并命名 例如命名github.cer 放进jre的lib\security下 keytool -delete [OPTION]... 选项: -alias <alias> 要处理的条目 ...
- JAVA中SSL证书认证通讯
JAVA中SSL证书认证通讯 SSL通讯服务端 /******************************************************************** * 项目名称 ...
- 阿里云域名ssl证书导入aws负载均衡使用
一 .原因 由于公司战略需求,需要将阿里云的服务器迁移到aws,在迁移过程中,我们需要使用的是aws的负载均衡,可以在EC2的控制台 负载平衡位找到负载均衡.根据业务需求我们使用的是应用程序负载均衡器 ...
- JDK自带工具keytool生成ssl证书
前言: 因为公司项目客户要求使用HTTPS的方式来保证数据的安全,所以木有办法研究了下怎么生成ssl证书来使用https以保证数据安全. 百度了不少资料,看到JAVA的JDK自带生成SSL证书的工具: ...
- Tomcat配置https之 JDK SSL证书生成与验证
关于证书 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL),安全协议是由Netscape Communication公司设计开发. ...
- AD证书导入文档(单向认证)
AD证书或者SSL证书导入的方法步骤(在root用户下操作) 1. 将证书命名为AD-PRO.cer,并确定证书的颁发. 2. 将/app/ad_cert/keystore下的原有证书删除掉和文件 ...
- 在IIS下部署SSL证书实现HTTPS
在IIS下部署SSL证书实现HTTPS HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版.谷歌已经制定了一项长远的计划,它的最终目标是将所有通过HTTP协议呈现的网页标为“不安全” ...
- 添加自签发的 SSL 证书为受信任的根证书
原文:http://cnzhx.net/blog/self-signed-certificate-as-trusted-root-ca-in-windows/ 添加自签发的 SSL 证书为受信任的根证 ...
- Android : 关于HTTPS、TLS/SSL认证以及客户端证书导入方法
一.HTTPS 简介 HTTPS 全称 HTTP over TLS/SSL(TLS就是SSL的新版本3.1).TLS/SSL是在传输层上层的协议,应用层的下层,作为一个安全层而存在,翻译过来一般叫做传 ...
随机推荐
- mysql ERROR 1366
mysql ERROR 1366 mysql> INSERT INTO tb_room VALUES ('9101','9','1',300,'9101',0,1,'超级豪华间','public ...
- Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---工厂模式之简单工厂
简单工厂:工厂依据传进的参数创建相应的产品. http://www.cnblogs.com/DelphiDesignPatterns/archive/2009/07/24/1530536.html { ...
- COCOS2D - JS 之JSON 解析
list 类型的json数据 var source = ["10004","1234","4","3","1 ...
- 使用mongo shell和客户端连接至MongoDB Atlas
MongoDB Atlas是Mongo官方的一个集群服务,也可以注册并创建一个免费的集群,但DB的大小只有500M,如果数据量不是很大的应用,可以选择该集群方案 需要注意的是,目前我使用的这个集群,服 ...
- HDU 5127.Dogs' Candies-STL(vector)神奇的题,set过不了 (2014ACM/ICPC亚洲区广州站-重现赛(感谢华工和北大))
周六周末组队训练赛. Dogs' Candies Time Limit: 30000/30000 MS (Java/Others) Memory Limit: 512000/512000 K ( ...
- Python开发基础-Day22反射、面向对象进阶
isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象,如果是返回True class Foo ...
- BZOJ 3282 Tree(动态树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3282 [题目大意] 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的x ...
- 【并查集】Gym - 101128B - Black Vienna
有26张牌(A~Z),其中三张被拿走了.其余23张被分发给了两个人.给你m次调查结果,一次调查结果是对其中一个人询问一对牌,他会告诉你他有这对牌的几张(0~2).问你有多少种被拿走的牌的组合. 三重循 ...
- 【贪心】【堆】AtCoder Grand Contest 018 C - Coins
只有两维的时候,我们显然要按照Ai-Bi排序,然后贪心选取. 现在,也将人按照Ai-Bi从小到大排序,一定存在一个整数K,左侧的K个人中,一定有Y个人取银币,K-Y个人取铜币: 右侧的X+Y+Z-K个 ...
- Semaphore(信号量)源码分析
1. Semaphore Semaphore和ReentrantReadWriteLock.ReadLock(读锁)都采用AbstractOwnableSynchronizer共享排队的方式实现. 关 ...