Pg permata menggunakan libpq secara internal, pustaka klien yang sama dengan alat PostgreSQL seperti psql .
Secara default libpq cari di ~/.postgresql/ untuk sertifikat CA.
Dari manual :
... dan ...
AFAIK Rails melewati apa pun yang Anda masukkan ke database.yml ke Pg gem, yang meneruskannya ke libpq sebagai parameter koneksi. Jadi, Anda harus dapat menambahkan entri kunci/nilai ke database.yml . Anda bait seperti:
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 persyaratan untuk meneruskan sertifikat root tunggal ke libpq adalah cacat desain. Itu harus memuat database sertifikat tepercaya. Masalah serupa ada untuk penggunaan sertifikat klien SSL, di mana Anda tidak dapat menyediakan keystore dan cert store, Anda harus meneruskan file tertentu untuk host tertentu. Sepertinya itu tidak masalah bagi Anda karena Anda mengetahui otoritas penandatanganan sertifikat upstream.