1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-14 18:42:34 +03:00

Add notBefore and notAfter to SSL cert info display

This adds the X509 attributes notBefore and notAfter to sslinfo
as well as pg_stat_ssl to allow verifying and identifying the
validity period of the current client certificate.

Author: Cary Huang <cary.huang@highgo.ca>
Discussion: https://postgr.es/m/182b8565486.10af1a86f158715.2387262617218380588@highgo.ca
This commit is contained in:
Daniel Gustafsson
2023-07-20 17:07:32 +02:00
parent 40fad96530
commit 75ec5e7bec
18 changed files with 246 additions and 33 deletions

View File

@ -2257,6 +2257,26 @@ SELECT pid, wait_event_type, wait_event FROM pg_stat_activity WHERE wait_event i
This field is truncated like <structfield>client_dn</structfield>.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>not_before</structfield> <type>text</type>
</para>
<para>
Not before UTC timestamp of the client certificate, or NULL if no client
certificate was supplied.
</para></entry>
</row>
<row>
<entry role="catalog_table_entry"><para role="column_definition">
<structfield>not_after</structfield> <type>text</type>
</para>
<para>
Not after UTC timestamp of the client certificate, or NULL if no client
certificate was supplied.
</para></entry>
</row>
</tbody>
</tgroup>
</table>

View File

@ -240,6 +240,36 @@ emailAddress
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<function>ssl_client_get_notbefore() returns text</function>
<indexterm>
<primary>ssl_client_get_notbefore</primary>
</indexterm>
</term>
<listitem>
<para>
Return the <structfield>not before</structfield> UTC timestamp of the client
certificate.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<function>ssl_client_get_notafter() returns text</function>
<indexterm>
<primary>ssl_client_get_notafter</primary>
</indexterm>
</term>
<listitem>
<para>
Return the <structfield>not after</structfield> UTC timestamp of the client
certificate.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>