我想使用 OpenSSL 从我的 XP 客户端通过 SSL 连接到我的 Postgres 8.3 数据库。即使没有 SSL,也可以正常工作。当我尝试使用 SSL(无客户端证书)时,我收到错误:
error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure
我已按照 Postgres 手册中的说明进行操作,包括创建自签名证书。在我的 pg_hba.conf 中有一行:
host dbname loginname 123.45.67.89/32 md5
服务器上的 OpenSSL 版本是 0.9.8g,客户端上的版本是 0.9.8j。如果您能提供任何有关解决问题的建议,我将不胜感激。
编辑:
postgresql.conf 中未注释的行是:
data_directory = '/var/ebs0/postgres/main'
hba_file = '/etc/postgresql/8.3/main/pg_hba.conf'
ident_file = '/etc/postgresql/8.3/main/pg_ident.conf'
external_pid_file = '/var/run/postgresql/8.3-main.pid'
listen_addresses = '*'
port = 5432 max_connections = 100
unix_socket_directory = '/var/run/postgresql'
ssl = true
shared_buffers = 24MB
答案1
我猜你正在尝试与一个未预料到的连接进行 SSL 通信。你可以尝试使用 hostssl 而不是 host,但显示你的 postgresql.conf 文件会更有用,该文件应该包含你的 SSL 配置选项。