【企业微信】接口报错:javax.net.ssl.SSLHandshakeException

详细报错信息

bash 复制代码
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: 
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: 
unable to find valid certification path to requested target

原因

关于qyapi.weixin.qq.com等域名更新HTTPS证书的紧急通知

2025/04/24

发布

各位企业微信的开发者:

大家好,qyapi.weixin.qq.com以及openhw.work.weixin.qq.com目前使用的https证书将在2025年5月17日过期,企业微信团队近期在灰度更换新证书,新证书由DigiCert Global Root G2 根 CA 颁发。灰度过程中发现部分开发者在应用程序中通过硬编码方式指定了特定的根证书,但指定的根证书过旧未兼容DigiCert Global Root G2 根,从而导致证书校验不通过,ssl握手失败。

请各位开发者尽快检查:

如果有程序内置根证书的,请在2025年4月29日前完成兼容G2根证书,否则可能影响正常服务。

如果程序没有内置根证书,但操作系统太旧(比如xp/win7系统)不支持G2根证书的,请升级操作系统。

解决方案一

现有JDK升级证书

1 下载证书

DigiCertGlobalRootG2.crt.pem文件的下载地址:

2 导入证书

1) 进入本地jre文件夹,找到lib文件夹下的security文件

2) 在窗口地址栏中,输出cmd,进入命令行模式

3)输入keytool -importcert -alias DigiCertGlobalRootG2With2024 -file "D:/DigiCertGlobalRootG2.crt.pem" -keystore "C:\Program Files\Java\jre1.8.0_77\lib\security\cacerts" -storepass changeit

4) 其中,%JAVA_HOME%是环境变量里面配置的,D:/DigiCertGlobalRootG2.crt.pem,是刚才下载文件的地址,C:\Program Files\Java\jre1.8.0_77\lib\security\cacerts是jre的证书的地址

5) 在是否信任该证书位置,输入yes,然后回车。

6) 输入keytool -list -v -keystore cacerts > mycacerts.txt

7) 密钥库口令:changeit

8) 点击回车,在当前文件目录内,找到mycacerts.txt文件

9) 打开文件,查找digicertglobalrootg2关键字

10) 如果找到了,就说明添加上了,如果没找到,重启java应用,或者重启tomcat再试试。

3 重启java程序验证

解决方案二

升级jdk到1.8的最后一个免费版本,202。
JDK 8 最后一个免费版本 下载

新的JDK中,自带了DigiCert Global Root G2证书

相关推荐
Lhappy嘻嘻8 分钟前
网络(四)|全网最细网络层原理:IP 协议、IP 地址分类、子网划分、路由转发、NAT 穿透详解
java·笔记·网络协议·计算机网络
我星期八休息9 小时前
网络编程—应用层HTTP协议
linux·运维·开发语言·前端·网络·网络协议·http
ShineWinsu10 小时前
对于Linux:UDPsocket编程基础的解析
linux·运维·网络协议·udp·ip·端口号·进程间通信
ITxiaobing202311 小时前
IP库与AppsFlyer数据对账指南:破解国家/地区数据不一致的难题
网络·网络协议
梦想的旅途218 小时前
JavaScript 实现企业微信消息自动发送的技术实践
运维·javascript·自动化·企业微信
wechatbot88818 小时前
企业微信 AI 自动化运营:RPA 与 API 方案效果实测
人工智能·微信·自动化·企业微信·rpa
VX_1820 小时前
域名SSL证书监测平台
网络·网络协议·ssl
tiantianuser1 天前
NVME-oF IP 设计7 :设计扫盲5
网络协议·rdma·roce v2·nvme of
ShineWinsu1 天前
对于Linux:TCPsocket编程基础的解析
linux·网络协议·tcp/ip·面试·笔试·进程·远程指令
meilindehuzi_a1 天前
浏览器端 HTTP 流式通信详解:从 SSE 到 EventSource、fetch 与 ReadableStream
网络·网络协议·http