Das Pg
gem verwendet libpq
intern dieselbe Client-Bibliothek wie die PostgreSQL-Tools wie psql
.
Standardmäßig libpq
sucht in ~/.postgresql/
für das CA-Zertifikat.
Aus dem Handbuch :
... und ...
AFAIK Rails übergibt alles, was Sie in Ihre database.yml
einfügen auf Pg
gem, das es an libpq
übergibt als Verbindungsparameter. Sie sollten also Schlüssel/Wert-Einträge zu Ihrer database.yml
hinzufügen können Strophen wie:
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 die Anforderung, ein einzelnes Stammzertifikat an libpq
zu übergeben ist ein Konstruktionsfehler. Es sollte eine vertrauenswürdige Zertifikatsdatenbank laden. Ähnliche Probleme bestehen bei der Verwendung von SSL-Clientzertifikaten, bei denen Sie keinen Keystore und keinen Zertifikatspeicher bereitstellen können, sondern bestimmte Dateien für einen bestimmten Host übergeben müssen. Es hört sich so an, als wäre das wahrscheinlich in Ordnung für Sie, da Sie die Upstream-Zertifikat-Signaturstelle kennen.