WSO2 API Manager出现SSLPeerUnverifiedException: peer not authenticated异常如何处理
异常触发原因
- SSL证书不被信任是该异常的核心原因:WSO2 API Manager运行依赖的JVM信任库中,未收录目标对端(后端服务、集群其他节点、密钥管理服务等)的SSL根证书或中间证书链
- 目标对端的SSL证书已过期、被CA吊销,或访问时使用的域名/IP与证书绑定的CN、SAN字段不匹配
- 使用自签证书部署对端服务,但未主动将自签证书导入WSO2 APIM的信任库
- 服务器预装的JDK版本过旧,内置根证书库缺失公网服务使用的最新根CA证书
排查步骤
- 先确定报错触发场景:是API请求转发到后端时抛错、APIM集群节点内部通信抛错,还是APIM与密钥管理器交互时抛错,先锁定目标对端的访问地址与端口
- 用openssl工具验证对端证书合法性:
openssl s_client -connect <目标地址:端口> -showcerts,检查返回结果中的证书有效期、绑定域名、证书链完整性 - 查看WSO2 APIM默认信任库内的证书列表,默认信任库路径为
<APIM_HOME>/repository/resources/security/client-truststore.jks,默认密码为wso2carbon,执行命令:keytool -list -keystore client-truststore.jks -storepass wso2carbon,比对是否存在目标对端的证书CA记录
解决方法
- 私有CA或自签证书场景:将目标对端的根证书/中间证书导出为PEM格式,执行命令导入APIM信任库:
出现确认提示时输入keytool -import -alias <自定义证书别名> -file <本地证书文件路径.pem> -keystore <APIM_HOME>/repository/resources/security/client-truststore.jks -storepass wso2carbonyes完成导入,重启APIM节点生效 - 域名不匹配场景:修改APIM中配置的对端访问地址为证书绑定的域名,或给目标服务的SSL证书补充对应IP、域名的SAN字段
- 公网根CA缺失场景:升级JDK到最新稳定版更新内置根证书库,或手动将缺失的根CA证书导入APIM信任库
- 开发测试场景可临时关闭SSL校验(生产环境严禁使用):在对应API的后端配置项中开启
Disable SSL Verification开关
内容的提问来源于stack exchange,提问作者Tohid Makari
相关产品推荐
相关产品推荐

