PostgreSQL:带有 TCP 连接的 SSL

Posted

技术标签:

【中文标题】PostgreSQL:带有 TCP 连接的 SSL【英文标题】:PostgreSQL : SSL with TCP connections 【发布时间】:2013-11-06 15:11:32 【问题描述】:

我正在尝试为 PostgreSQL 配置 SSL 通信。 我有一个自签名证书,我正在按照 URL“http://www.postgresql.org/docs/9.2/static/ssl-tcp.html”中指定的这些说明进行操作。

当我使用自签名证书配置 SSL 时,根据文档,服务器将在启动时提示输入(私钥的密码)密码。 我的 PostgreSQL 作为 Windows 服务安装。所以,我希望我的服务在没有任何用户干预的情况下启动。有没有办法配置私钥密码,让我的数据库服务正常启动。

【问题讨论】:

您是否尝试从证书中删除密码? 是的,如果我们使用没有密码的证书作为私钥,postgresql 可以正常启动。但是,我使用的是 Java 的 Keytool,它不允许你生成没有密码的证书。 OpenSSL 将允许您这样做,但我尽可能不想使用 3rd 方库。 【参考方案1】:

即使有可能,这也是个坏主意。通过将密钥和密码放在服务器进程可以看到的地方,您几乎不会获得额外的安全性。这会增加一种虚假的安全感,并增加发生坏事的可能性。

如果您的工具不会为您提供无密码密钥,请使用其他工具。

【讨论】:

以上是关于PostgreSQL:带有 TCP 连接的 SSL的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 PostgreSQL JDBC 驱动程序通过 SSL 连接

带有 SSL 证书的 Net.TCP 是不是可以在 Internet 上使用

TCP套接字流和带有Swift的SSL

使用 TCP 的 App Engine PostgreSQL 连接错误

SQLAlchemy验证SSL连接

mod_proxy,mod_ssl,带有 SSLProxyEngine 到内部 F5...内部 F5 向 apache 发送 TCP RESET