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

发布于 2024-08-04 21:26:19 字数 388 浏览 3 评论 0原文

我想使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

您的好友蓝忘机已上羡 2024-08-11 21:26:19

这是 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.

夏日落 2024-08-11 21:26:19

Postgres 需要 starttls。试试这个:

echo "" | openssl s_client -starttls postgres -connect <host>:5432 -showcerts

或者对返回的证书进行解码:(

echo "" | openssl s_client -starttls postgres -connect <host>:5432 -showcerts | openssl x509 -noout -text

答案添加到这个古老的问题中,因为谷歌将其作为类似问题的高结果返回。)

Postgres requires starttls. Try this instead:

echo "" | openssl s_client -starttls postgres -connect <host>:5432 -showcerts

Or with decoding of the returned certs:

echo "" | openssl s_client -starttls postgres -connect <host>:5432 -showcerts | openssl x509 -noout -text

(Answer added to this ancient question since Google was returning it as a high result for a similar problem.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文