解决PostgresQL中的“ssl握手失败”错误

问题描述:

我想使用OpenSSL从我的XP客户端使用SSL连接到我的Postgres 8.3数据库。这工作正常,没有SSL。当我和SSL(无客户端证书)试试吧,我得到的错误:解决PostgresQL中的“ssl握手失败”错误

error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure 

我怀疑我需要改变与Postgres的配置的东西,但我不知道是什么。我遵循Postgres手册中关于SSL的说明,包括创建自签名证书。在我的pg_hba.conf中有一行:

host dbname loginname 123.45.67.89/32 md5 

有什么我应该看?

+0

好问题,但解决方案不可能需要编程。可能在serverfault.com上获得更好的响应 – erickson 2009-09-07 17:33:42

这是OpenSSL内部的错误。它听起来不像PostgreSQL配置问题。但是,这可能是一个OpenSSL配置问题 - 请检查机器上是否有任何未被删除的openssl.conf。

此外,您在服务器上安装了哪个版本的OpenSSL,以及这是什么操作系统?如果你有一个非常古老的,那可能是原因。

+0

我在服务器上看到的唯一配置文件是openssl.cnf,它对我来说确实很好。服务器上的OpenSSL版本是0.9.8g,客户端版本是0.9.8j。可能值得更新服务器上的版本。谢谢。 – Mitch 2009-09-07 19:55:03

+0

将服务器更新到0.9.8k后仍存在相同的问题 – Mitch 2009-09-09 13:23:05