Pg
gem používá libpq
interně stejnou klientskou knihovnu jako nástroje PostgreSQL jako psql
.
Ve výchozím nastavení libpq
hledá v ~/.postgresql/
pro certifikát CA.
Z příručky :
... a ...
AFAIK Rails předává vše, co vložíte do database.yml
na Pg
gem, který jej předá libpq
jako parametr připojení. Takže byste měli být schopni přidávat položky klíč/hodnota do database.yml
sloky jako:
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 požadavek předat jeden kořenový certifikát do libpq
je konstrukční vada. Měl by načíst databázi důvěryhodných certifikátů. Podobné problémy existují při použití klientských certifikátů SSL, kde nemůžete poskytnout úložiště klíčů a úložiště certifikátů, musíte předat konkrétní soubory pro daného hostitele. Zní to, že je to pro vás pravděpodobně v pořádku, protože znáte autoritu pro podpis certifikátů.