我正在尝试从 Wolfram 语言连接到免费层 Heroku 数据库。 DatabaseLink 包使用 JDBC 建立连接。当我指定 SSL 应该用于连接时,我得到:
JDBC:SSL 错误:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到到请求目标的有效认证路径
支持文章位于: https://reference.wolfram.com/language/DatabaseLink/tutorial/SecureSocketLayer.html
...似乎表明需要获取站点的安全证书,生成“信任库”文件,然后以指定应使用哪个信任库文件的方式加载JVM。
我不确定这是否将我引向了正确的方向。但截至目前,我不确定如何获得此安全证书。
答案 0 :(得分:0)
我似乎偶然发现了至少一种解决我所看到的失败的方法,如以下的“使用 SSL 而不进行证书验证”部分所述:
https://jdbc.postgresql.org/documentation/head/ssl-client.html
我可以通过以下方式指定 sslfactory
选项:
OpenSQLConnection[
...,
"Properties" -> {"ssl" -> "true", "sslfactory" -> "org.postgresql.ssl.NonValidatingFactory"}
]
现在数据库连接成功。