mirror of
https://github.com/postgres/postgres.git
synced 2025-07-26 01:22:12 +03:00
Overhaul pg_hba.conf clientcert's API
Since PG 12, clientcert no longer supported only on/off, so remove 1/0 as possible values, and instead support only the text strings 'verify-ca' and 'verify-full'. Remove support for 'no-verify' since that is possible by just not specifying clientcert. Also, throw an error if 'verify-ca' is used and 'cert' authentication is used, since cert authentication requires verify-full. Also improve the docs. THIS IS A BACKWARD INCOMPATIBLE API CHANGE. Reported-by: Kyotaro Horiguchi Discussion: https://postgr.es/m/20200716.093012.1627751694396009053.horikyota.ntt@gmail.com Author: Kyotaro Horiguchi Backpatch-through: master
This commit is contained in:
@ -2044,13 +2044,10 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In a <filename>pg_hba.conf</filename> record specifying certificate
|
||||
authentication, the authentication option <literal>clientcert</literal> is
|
||||
assumed to be <literal>verify-ca</literal> or <literal>verify-full</literal>,
|
||||
and it cannot be turned off since a client certificate is necessary for this
|
||||
method. What the <literal>cert</literal> method adds to the basic
|
||||
<literal>clientcert</literal> certificate validity test is a check that the
|
||||
<literal>cn</literal> attribute matches the database user name.
|
||||
It is redundant to use the <literal>clientcert</literal> option with
|
||||
<literal>cert</literal> authentication because <literal>cert</literal>
|
||||
authentication is effectively <literal>trust</literal> authentication
|
||||
with <literal>clientcert=verify-full</literal>.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
|
Reference in New Issue
Block a user