首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Postgres SSL客户端证书-数据库服务器CA启动失败

Postgres SSL客户端证书-数据库服务器CA启动失败
EN

Database Administration用户
提问于 2022-10-04 12:43:53
回答 1查看 746关注 0票数 0

我希望配置SSL,以便客户端只能要求由根CA ca.crt签名的证书,然后每个客户端必须使用其颁发的证书(例如证书postgresql.crt、密钥postgresql.key和密码)连接到数据库服务器。在此允许数据库服务器在身份验证时验证每个客户端证书。

Postgres v14服务器吐露:

postgresql.conf

代码语言:javascript
运行
复制
...
ssl = on
ssl_ca_file = ca.crt   # root CA or (root+intermediate CA bundle) that signed client cert.
#ssl_cert_file =
#ssl_key_file =
...

pg_hba.conf

代码语言:javascript
运行
复制
...
hostssl  all  all  all  md5  clientcert=verify-ca
...

由于此错误,启动数据库服务器失败。

代码语言:javascript
运行
复制
...
FATAL: could not load server certificate file "server.crt": No such file or directory
...

为什么失败了,我不需要server.crt和server.key,因为服务器应该使用ca.crt而不是客户机来进行客户端验证?

阅读postgres文档对我没有帮助。提前谢谢。

EN

回答 1

Database Administration用户

发布于 2022-10-04 13:23:29

您还必须在数据目录中提供服务器证书(默认情况下是server.crt)和相应的私钥(具有限制性权限的默认server.key ),否则就不能从SSL支持开始。

若要验证客户端证书,应在md5 clientcert=verify-full中使用pg_hba.conf。如果您不需要额外的密码,并且客户端证书足以进行身份验证,那么只需使用证书身份验证:

代码语言:javascript
运行
复制
hostssl  all  all  all  cert
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/317807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档