postgresql是SSL连接java_PostgreSQL 用 SSL 进行安全的 TCP/IP 连接

PostgreSQL 有一个内建的通过SSL进行加密的客户端/服务器端的通讯,这样可以增加安全性。这个特性要求在客户端和服务器端都安装 OpenSSL 并且在编译 PostgreSQL 的时候打开(参阅章14)。

当编译了 SSL 进去以后,可以通过将 postgresql.conf中的 ssl 设置为 on 打开 PostgreSQL 服务器的 SSL 支持。当开始 SSL 模式后,服务器将在数据目录里查找 server.key 和 server.crt 文件,必须分别包含服务器私钥和证书。在打开 SSL 的服务器运行之前必须先正确的设置这些文件。如果私钥用一个口令保护,那么服务器将提示输入口令,并且在口令成功校验之前不会启动。

服务器将在同一个 TCP 端口上同时监听标准的和 SSL 的连接,并且将与任何正在连接的客户端进行协商,协商是否使用 SSL 。缺省时,这是根据客户端的选项而定的。参阅节20.1获取如何强制服务器端只使用 SSL 进行某些或者全部连接的信息。

有关创建服务器私钥和证书的细节信息,可以参考 OpenSSL 的文档。你可以用一个自认证的证书进行测试,但是在生产环境中应该使用一个由认证中心(CA,全球的 CA 或者区域的 CA 都可以)签发的证书,这样客户端才能够识别服务器的身份。要创建一份自认证的证书,可以使用下面的 OpenSSL 命令

openssl req -new -text -out server.req

填充那些 openssl 向你询问的信息。确保把本地主机名当做"Common Name"输入。该程序将生成一把用口令保护的密钥。小于四字符的口令保护是不被接受的。要移去密钥(如果你想自动启动服务器就得这样),运行下面的命令

openssl rsa -in privkey.pem -out server.key

rm

你可能感兴趣的:(postgresql是SSL连接java_PostgreSQL 用 SSL 进行安全的 TCP/IP 连接)