为什么在从psql连接到使用ssl保护的postgres服务器时不要求导入server.crt

问题描述

这是一个非常基本的问题。我必须在客户端java trustore上导入server.crt以使用jdbc连接到由ssl保护的postgres服务器。 但是当我在同一台机器上尝试psql时,它显示连接已加密。 psql如何导入服务器证书?

psql“ postgresql:// $ POSTGRES_HOST:$ PG_PORT / postgres” -U postgres psql(9.6.18) SSL连接(协议:TLSv1.2,密码:ECDHE-RSA-AES256-GCM-SHA384,位:256,压缩:关闭) 键入“帮助”以获得帮助。

关于, 香卡

解决方法

您可以使用证书来设置加密,而无需验证该证书是否由正确的授权机构签名。如果没有root.crt且sslmode为'require'或以下,则默认情况下psql会执行此操作。

必须为JDBC或默认将JDBC配置为等同于'require'之上的sslmode。