Skip to content

Commit 05c4ef6

Browse files
committed
Note that sslmode=require verifies the CA if root cert is present
This mode still exists for backwards compatibility, making sslmode=require the same as sslmode=verify-ca when the file is present, but not causing an error when it isn't. Per bug 6189, reported by Srinivas Aji
1 parent 23f7df5 commit 05c4ef6

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

doc/src/sgml/libpq.sgml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,9 @@ PGconn *PQconnectdbParams(const char **keywords, const char **values, int expand
391391

392392
<row>
393393
<entry><literal>require</></entry>
394-
<entry>only try an <acronym>SSL</> connection</entry>
394+
<entry>only try an <acronym>SSL</> connection. If a root CA
395+
file is present, verify the certificate in the same way as
396+
if <literal>verify-ca</literal> was specified</entry>
395397
</row>
396398

397399
<row>
@@ -6512,6 +6514,18 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
65126514
the connection parameters <literal>sslrootcert</> and <literal>sslcrl</>
65136515
or the environment variables <envar>PGSSLROOTCERT</> and <envar>PGSSLCRL</>.
65146516
</para>
6517+
6518+
<note>
6519+
<para>
6520+
For backwards compatibility with earlier versions of PostgreSQL, if a
6521+
root CA file exists, the behavior of
6522+
<literal>sslmode</literal>=<literal>require</literal> will be the same
6523+
as that of <literal>verify-ca</literal>, meaning the sever certificate
6524+
is validated against the CA. Relying on this behavior is discouraged,
6525+
and applications that need certificate validation should always use
6526+
<literal>validate-ca</literal> or <literal>validate-full</literal>.
6527+
</para>
6528+
</note>
65156529
</sect2>
65166530

65176531
<sect2 id="libpq-ssl-clientcert">

0 commit comments

Comments
 (0)