OpenJDK 11(FreeBSD 12.1)Java SSL调试:私CA信任锚校验失败排查
FreeBSD 12.1环境OpenJDK 11下iDempiere内嵌JavaMail的SSL连接故障排查
故障背景
- 基础运行环境:FreeBSD 12.1系统部署的OpenJDK 11
- 核心故障:内嵌于iDempiere Web应用的JavaMail客户端无法正常连接邮件服务器完成消息转发
- 排查手段:引入SSLPoke工具定位SSL连接故障
排查过程记录
初始原生Keystore状态下的异常表现
- 应用原有Keystore属性:仅包含
accounting-2域名对应的私钥条目,证书链长度为1 - 无密码执行SSLPoke测试:触发
trustAnchors参数不能为空异常 - 传入正确Keystore密码后重试测试:访问外网Google 443端口、同自建CA体系的内部webmail服务时,均抛出PKIX路径构建失败、无有效认证路径的错误
手动导入应用Keystore证书后的异常变化
- 操作记录:手动向应用专属Keystore导入自建CA体系的中间证书
CA_ISSUER_2016、根证书CA_HLL_ROOT_2016 - 导入后测试结果:原有错误变更为PKIX路径校验失败:无匹配的信任锚
已完成配置与现存矛盾
- 前置配置项:提前将同系列CA证书导入OpenJDK默认的cacerts信任库
- 对照验证结果:通过
openssl s_client访问内部webmail服务时,证书校验完全正常 - 现存核心矛盾:无论调整应用专属Keystore还是OpenJDK全局信任库配置,始终无法消除信任锚校验报错,需要定位自建CA根证书未被Java识别为有效信任锚的根本原因
内容的提问来源于stack exchange,提问作者James B. Byrne
相关产品推荐
相关产品推荐

