用HttpClient请求对方网站数据报unable to find valid certification path to requested target

本文详细介绍了如何在Windows环境下,通过浏览器手动下载SSL证书,并使用keytool命令将证书导入到Java的cacerts文件中,以解决HttpClient访问HTTPS网站时的证书问题。同时,文中还提供了更新和删除证书的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实这个问题很简单。因为对方网站是https协议的,需要ssl证书。httpclient不是浏览器,浏览器访问网站会有证书。

以下都是在windows下操作的,linux下也一样

解决办法:以我的电脑为例

首先需要用浏览器手动下载ssl证书。 这个很简单。直接点击浏览器地址栏上的那个锁标志即可。

1. java 把证书都放在了 C:\Program Files\Java\jre1.8.0_191\lib\security 这个路径下的cacerts 文件里面。可以看到此时只有104k大小。

我们进入 下面这个路径,使用keypool工具 。

C:\Program Files\Java\jdk1.8.0_191\bin

2. 输入以下命令 keytool -import -aliias [证书名字]  -keystore [cacerts路径] -file [证书地址]    即可。

keytool -import -alias zhu -keystore ../../jre1.8.0_191/lib/s
ecurity/cacerts  -file C:\Users\dell\Desktop\zhu.cer

3. 接下来输入密钥口令:changeit ,即可成功导入。

4. 此时再看cacerts大小 ,105k,说明成功导入。

 

最后需要注意的是,证书是有时间限制的。记得看下时间,下次还是需要更新的。

删除原来的证书,更新新证书的方法:

keytool -list -keystore cacerts 
keytool -delete -alias akazam_email -keystore cacerts 
keytool -import -alias akazam_email -file akazam_email.cer -keystore cacerts -trustcacerts

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值