pgsql: Support configuring TLSv1.3 cipher suites

From: Daniel Gustafsson <dgustafsson(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Support configuring TLSv1.3 cipher suites
Date: 2024-10-24 13:38:04
Message-ID: E1t3y2P-002EUZ-Ca@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Support configuring TLSv1.3 cipher suites

The ssl_ciphers GUC can only set cipher suites for TLSv1.2, and lower,
connections. For TLSv1.3 connections a different OpenSSL API must be
used. This adds a new GUC, ssl_tls13_ciphers, which can be used to
configure a colon separated list of cipher suites to support when
performing a TLSv1.3 handshake.

Original patch by Erica Zhang with additional hacking by me.

Author: Erica Zhang <ericazhangy2021(at)qq(dot)com>
Author: Daniel Gustafsson <daniel(at)yesql(dot)se>
Reviewed-by: Jacob Champion <jacob(dot)champion(at)enterprisedb(dot)com>
Reviewed-by: Andres Freund <andres(at)anarazel(dot)de>
Reviewed-by: Peter Eisentraut <peter(at)eisentraut(dot)org>
Reviewed-by: Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>
Discussion: https://postgr.es/m/tencent_063F89FA72CCF2E48A0DF5338841988E9809@qq.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/45188c2ea2391b7b24039e1632c726e2fc6b8008

Modified Files
--------------
doc/src/sgml/config.sgml | 36 +++++++++++++++++++++------
src/backend/libpq/be-secure-openssl.c | 22 +++++++++++++---
src/backend/libpq/be-secure.c | 1 +
src/backend/utils/misc/guc_tables.c | 15 +++++++++--
src/backend/utils/misc/postgresql.conf.sample | 3 ++-
src/include/libpq/libpq.h | 1 +
src/test/ssl/t/SSL/Server.pm | 3 ++-
7 files changed, 66 insertions(+), 15 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2024-10-24 15:21:39 pgsql: Refactor GetLockStatusData() to skip backends/groups without fas
Previous Message Alexander Korotkov 2024-10-24 12:04:14 pgsql: Add 'no_error' argument to pg_wal_replay_wait()