Pentaho DI v9.3无法连接MS SQL Server 19的SSL证书问题求助
解决Pentaho DI连接MS SQL Server的SSL PKIX路径错误
核心原因
JRE的信任库(cacerts)未包含SQL Server的SSL证书,导致无法验证SSL连接合法性,触发PKIX path building failed错误。
解决方案
1. 确认Pentaho Spoon使用的JRE路径
Pentaho未必会使用你单独安装的JRE 1.8,需先核实实际运行环境:
- 打开Spoon启动脚本(Windows为
Spoon.bat,Linux为Spoon.sh),查看PENTAHO_JAVA_HOME配置项,确认其指向的JRE路径(例如...\jre1.8.0_341)。
2. 获取SQL Server的SSL证书
方法A:浏览器导出
- 打开浏览器访问SQL Server的管理地址或数据库端口对应的SSL服务,点击地址栏锁形图标,查看证书详情,将证书导出为Base64编码的
.cer文件(命名如sqlserver.cer)。
方法B:keytool命令抓取
切换到目标JRE的bin目录,执行命令:
keytool -printcert -sslserver <SQL_SERVER_IP>:<PORT> -rfc > sqlserver.cer
替换<SQL_SERVER_IP>和<PORT>为你的SQL Server地址与端口。
3. 导入证书到JRE信任库
在JRE的bin目录下执行以下命令(默认信任库密码为changeit):
keytool -importcert -file sqlserver.cer -keystore ..\lib\security\cacerts -alias sqlserver-cert
输入密码后,确认完成证书导入。
4. 测试环境临时绕过(生产禁用)
若仅用于测试,可在Pentaho数据库连接配置中添加参数:
- 勾选「附加选项」,添加
encrypt=false或trustServerCertificate=true
注意:该操作会关闭SSL验证,存在安全风险,禁止在生产环境使用。
5. 验证驱动兼容性
确认mssql-jdbc-11.2.0.jre8.jar与JRE 1.8版本匹配,避免因驱动与JRE版本不兼容引发的异常。
内容的提问来源于stack exchange,提问作者Stas
相关产品推荐
相关产品推荐

