Estou tentando configurar um servidor postgres (versão 10.4) somente com acesso openssl. Eu criei um ca auto-assinado e as chaves privadas e públicas necessárias para o usuário e o servidor com a versão 3 do easyrsa como descrito aqui e coloque-o nos diretórios como declarado aqui . Depois eu adicionei esta linha
hostssl all myname 192.168.0.0/16 cert
para o pg_hba.conf
, conforme descrito aqui e here
Mas quando tento me conectar ao banco de dados com
psql -h 192.168.0.222 "sslmode=verify-ca sslcert=myname.crt sslkey=myname.key"
esta mensagem de erro aparece
couldn't read certificate "myname.crt": ca md too weak
e no log do servidor
couldn't accept SSL-connection: success
(talvez as mensagens não estejam literalmente corretas, eu as traduzi do alemão)
Isso é engraçado, porque quando eu olho meus certificados com
easyrsa show-cert myname
Eu vejo as seguintes linhas (e mais):
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
don't show it here
Signature Algorithm: sha256WithRSAEncryption
e o mesmo para o meu certificado raiz ca.crt e o certificado para o servidor postgres. Então, obviamente, os certificados são assinados com o método sha256 e não com o md
O que é ainda mais engraçado, é que funcionou no começo, e alguns dias depois, quando tentei novamente, a mensagem de erro acima mencionada apareceu e tenho certeza de que não alterei nenhuma configuração enquanto isso. Talvez alguma atualização de openssl ou postgresql esteja entre elas.