解决“ssl 握手失败”问题PostgresQL 中的错误
我想使用 OpenSSL 从我的 XP 客户端使用 SSL 连接到我的 Postgres 8.3 数据库。无需 SSL 即可正常工作。当我尝试使用 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
还有其他我应该看的东西吗?
I would like to connect to my Postgres 8.3 database using SSL from my XP client using OpenSSL. This works fine without SSL. When I try it with SSL (no client certificate), I get the error:
error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure
I suspect that I need to change something with the Postgres configuration but I don't know what. I have followed the instructions in the Postgres manual for SSL including creating a self-signed certificate. In my pg_hba.conf there is a line:
host dbname loginname 123.45.67.89/32 md5
Is there something else I should be looking at?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是 OpenSSL 内部的错误。听起来不像 PostgreSQL 配置问题。但是,这可能是 OpenSSL 配置问题 - 检查计算机上是否有任何非详细的 openssl.conf。
另外,您服务器上的 OpenSSL 版本是什么?操作系统是什么?如果你有一个非常旧的,这可能就是原因。
This is an error inside OpenSSL. It doesn't sound like a PostgreSQL configuration problem. However, it could be an OpenSSL config problem - check if you have any non-detailt openssl.conf on the machine(s).
Also, what version of OpenSSL do you have on the server, and what OS is that? If you have a really old one, that could be the reason.
Postgres 需要 starttls。试试这个:
或者对返回的证书进行解码:(
答案添加到这个古老的问题中,因为谷歌将其作为类似问题的高结果返回。)
Postgres requires starttls. Try this instead:
Or with decoding of the returned certs:
(Answer added to this ancient question since Google was returning it as a high result for a similar problem.)