Pg
gem använder libpq
internt, samma klientbibliotek som PostgreSQL-verktygen som psql
.
Som standard libpq
ser i ~/.postgresql/
för CA-certifikatet.
Från handboken :
... och ...
AFAIK Rails skickar allt du lägger i din database.yml
till Pg
gem, som skickar den till libpq
som en anslutningsparameter. Så du bör kunna lägga till nyckel-/värdeposter till din database.yml
strofer som:
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 kravet att skicka ett enda rotcertifikat till libpq
är ett designfel. Den bör ladda en betrodd certifikatdatabas. Liknande problem finns för användning av SSL-klientcertifikat, där du inte kan tillhandahålla ett nyckellager och certifikatlager, du måste skicka specifika filer för en given värd. Det låter som att det förmodligen är OK för dig eftersom du känner till certifikatsigneringsmyndigheten uppströms.