Pg
gemはlibpq
を使用します 内部的には、psql
などのPostgreSQLツールと同じクライアントライブラリ 。
デフォルトでは、libpq
~/.postgresql/
を検索します CA証明書用。
マニュアル から :
...および...
AFAIK Railsは、database.yml
に入力したものをすべて渡します Pg
に gem、それをlibpq
に渡します 接続パラメータとして。したがって、キー/値エントリをdatabase.yml
に追加できるはずです。 次のようなスタンザ:
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は、単一のルート証明書をlibpq
に渡すための要件です。 設計上の欠陥です。信頼できる証明書データベースをロードする必要があります。 SSLクライアント証明書の使用についても同様の問題があり、キーストアと証明書ストアを提供できない場合は、特定のホストに特定のファイルを渡す必要があります。アップストリームの証明書署名機関を知っているので、おそらくそれで問題ないようです。