PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

pg gem sslmode=verify-full, onde colocar certificados?


A Pg gem usa libpq internamente, a mesma biblioteca cliente das ferramentas PostgreSQL como psql .

Por padrão libpq procura em ~/.postgresql/ para o certificado CA.

Do manual :

... e ...

O AFAIK Rails passa tudo o que você coloca em seu database.yml para a Pg gem, que o passa para libpq como parâmetro de conexão. Portanto, você deve poder adicionar entradas de chave/valor ao seu database.yml estrofes como:
sslmode: verify-full
# and if you don't want to use ~/.postgresq/root.crt for the cert location, set:
sslrootcert: /path/to/my/app/root/cert.crt

IMO o requisito de passar um único certificado raiz para libpq é uma falha de projeto. Ele deve carregar um banco de dados de certificado confiável. Existem problemas semelhantes para o uso de certificados de cliente SSL, em que você não pode fornecer um keystore e um repositório de certificados, deve passar arquivos específicos para um determinado host. Parece que provavelmente está tudo bem para você, pois você conhece a autoridade de assinatura de certificado upstream.