解决unable to find valid certification path to requested target

昨天访问供应商提供的接口还是正常的,今天早上上班却被告知系统功能总是提示错误,完全用不了,查询系统日志以及本地重新测试发现,调用供应商提供的接口提示

unable to find valid certification path to requested target

javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem

The connection observed an error

这些错误,搞了一个早上,不停地上网查资料,有的说要更新JDK版本,有的说要将服务端证书添加到Java证书信任库中,还有人说一些别的,我现在都想不起来他们说的是什么,总之是一些没用的。

我更新高版本JDK后,发现调用接口正常了,但是系统是很多年前开发的,不方便更新版本,后来觉得服务端证书添加到Java证书信任库有点道理,于是往这个方向着手,果然不出所料,经过一个早上的努力,终于把问题解决了

添加证书
keytool -import -alias cacerts -keystore C:\blobcer\cacerts -file C:\blobcer\xxx.crt

删除证书
keytool -delete -alias "alias-name" -keystore "C:\blobcer\cacerts"

首先要将供应商提供的接口地址在浏览器里打开,获取它的证书,然后再加到自己的JDK证书信任列表中,由于我的JDK路径有空格,我就将JDK证书信任列表复制到没空格的地方,加工好再放回原位,原来的位置是JAVA_HOME/jre/lib/security/cacerts。

备注:java证书默认密码是changeit

证书导出方法如下图:

 

posted on   会走路的虾米  阅读(298)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)

导航

点击右上角即可分享
微信分享提示