28.14. Support de SSL
PostgreSQL™ dispose d'un
support natif des connexions SSL pour crypter les connexions
client/serveur et améliorer ainsi la sécurité. Voir la
Section 16.7,
« Connexions tcp/ip sécurisées avec ssl » pour
des détails sur la fonctionnalité SSL côté serveur.
Si le serveur demande un certificat au client, libpq enverra le certificat stocké dans le
fichier ~/.postgresql/postgresql.crt
se trouvant à l'intérieur du répertoire personnel de
l'utilisateur. Un fichier de la clé privée correspondante,
~/.postgresql/postgresql.key, doit
aussi être présent et ne doit pas être lisible par tout le
monde (sur les systèmes Microsoft Windows, ces fichiers sont
nommés %APPDATA%\postgresql\postgresql.crt et
%APPDATA%\postgresql\postgresql.key).
Si le fichier ~/.postgresql/root.crt
est présent dans le répertoire personnel de l'utilisateur,
libpq utilisera la liste de
certificats stockés pour vérifier le certificat du serveur (sur
les systèmes Microsoft Windows, le fichier est nommé %APPDATA%\postgresql\root.crt). La connexion
SSL échouera si le serveur ne présente pas de certificat ;
du coup, pour utiliser cette fonctionnalité, le serveur doit
aussi avoir un fichier root.crt.
Si vous utilisez SSL dans
votre application (ainsi que dans libpq), vous pouvez utiliser PQinitSSL(int) pour indiquer à libpq que la bibliothèque SSL a déjà été initialisée par votre
application.