【http证书,仅供参考】

最近在搞http证书问题,搜了很多帖子,总结一下
会附上原帖链接,必要时请移步查看
注:原理也不是很懂,反正最后搞定了,仅供参考

背景:linux环境,新申请了一台服务器,证书需要加密处理,在安装必要的软件后,启动项目,开始报错PKIX buiding failed : sun.security.provider.certpath.SunCertPathBuilderException : unable to find vaild certification path to request target

本项目会进行http访问请求,查了下报错信息,结果显示证书问题
参考链接,可以先看大佬们之前的总结

https://www.cnblogs.com/cuiyongchao007/p/12820491.html
https://www.cnblogs.com/wupher/archive/2012/08/05/2623561.html
https://blog.youkuaiyun.com/u014026324/article/details/132342082
https://blog.youkuaiyun.com/huang007guo/article/details/106856917

解决过程:

公司自己有一个chain.crt文件,哪来的不清楚,应该也能自己生成吧😂

创建私钥

openssl genrsa 2048 >server.key

保存私钥

openssl genrsa -out server.key 2048

生成证书请求文件(cer文件也可以是crt文件,我们的是cer,,会填写很多信息,按需填写即可)

openssl req -new -x509 -key server.key -out server.cer -days 36500

生成PKCS12格式的证书文件(此操作会两次输入密码password,自己设置)

openssl pkcs12 -export -in server.cer -inkey server.key -CAfile chain.crt -name server -out serverall.p12

生成newjks.jks文件(此操作会三次输入密码password,密码跟上一步一样),最后将文件放到tomcat部署目录的配置文件夹下,conf文件夹

keytool -importkeystore -srckeystore serverall.p12 -srcstoretype PKCS12 -deststoretype PKCS12 -alias server -destkeystore newjks.jks

用keytool工具导入jks证书(此操作输入cacerts的原始密码changeit,看到提示是否信任此证书,写y,需要查看java的jre路径填写)

keytool -import -alias newjks.jks -keystore $JAVA_HOME/jre/lib/security/cacerts -file chain.crt

我们是tomcat项目,在tomcat的conf文件夹下,修改server.xml文件

<Connector port ="8080" protool="prg.apache.coyote.http11.Http11.NioProtocol"
	maxThreads="150" SSLEnabled="true"
	relaxedQueryChars="{,}">
	<SSLHostConfig>
		<Certificate certificateKeystoreFile="conf/newjks"
		certificateKeystorePassword="自己填写的password"
		type="RSA" />
	</SSLHostConfig>
</Connector>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值