他のバージョンの文書 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

29.16. SSLサポート

PostgreSQLは、セキュリティを高めるためにクライアントサーバ間の通信を暗号化するSSL接続の使用を元来サポートしています。 サーバ側のSSL機能についての詳細は項16.7を参照してください。

サーバがクライアント証明を要求する場合、libpqはユーザのホームディレクトリにある~/.postgresql/postgresql.crtファイルに格納された証明書を送信します。 また、一致する~/.postgresql/postgresql.key秘密キーファイルも存在しなければならず、更に誰にでも読み取りできるような権限を付与してはなりません。 (Microsoft Windowsでは、このファイルの名前はそれぞれ%APPDATA%\postgresql\postgresql.crt%APPDATA%\postgresql\postgresql.keyです。)

< ユーザのホームディレクトリに~/.postgresql/root.crtファイルが存在する場合、libpqはそこに保存してある証明書リストを使用して、サーバの証明書を立証します。 (Microsoft Windowsでは、このファイルの名前は%APPDATA%\postgresql\root.crtです。) SSL接続は、サーバに証明書が存在しない場合は失敗します。 従って、この機能を使用するためにはサーバはroot.crtファイルを持たなければなりません。 ~/.postgresql/root.crl(Microsoft Windowsの場合は%APPDATA%\postgresql\root.crl)ファイルが存在する場合、証明書失効リスト(CRL)項目も検査されます。

もしアプリケーションでSSL(更にlibpq)を使用していたら、SSLライブラリをアプリケーションで初期化したことを libpq に知らせるのにPQinitSSL(int)を使用できるでしょう。