我正在尝试从ColdFusion 8 Enterprise客户端到Redhat 5 Postgres服务器的SSL连接。另一方设立了Postgres并向我发送了证书。
启用SSL后,我得到 org.postgresql.util.PSQLException:连接尝试失败。从我所做的搜索中产生的信息很少。
JDBC URL:jdbc:postgresql://x.x.x.x / main?ssl = true
类:org.postgresql.Driver
如果错误源位于我的终端或服务器端,可以做些什么来查看/测试?
答案 0 :(得分:2)
首先要解决的问题是:
您可以使用psql连接启用SSL吗?
postgresql日志中有什么值得关注的内容吗?
如果这不起作用,有没有办法可以根据root ca的签名测试证书?
如果失败了,我唯一能想到的就是跟踪客户端并确切地看到SSL库中的失败位置。
答案 1 :(得分:2)
对于证书问题,请将&sslfactory=org.postgresql.ssl.NonValidatingFactory
添加到您的jdbc网址。有关详细信息,请参阅https://jdbc.postgresql.org/documentation/91/ssl-client.html。
答案 2 :(得分:1)
我找到了解决这个问题的笔记。请注意,驱动器和文件夹路径可能与您的设置不同。
keytool -importcert -alias postgres -keystore e:\jrun4\jre\lib\security\cacerts -file c:\location\of\server.crt -storepass changeit
keytool -list -alias postgres -keystore e:\jrun4\jre\lib\security\cacerts -storepass changeit
。如果成功,您将看到通过该别名返回的单个列表,否则将说没有找到