From 45188c2ea2391b7b24039e1632c726e2fc6b8008 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Thu, 24 Oct 2024 15:20:32 +0200 Subject: 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 Author: Daniel Gustafsson Reviewed-by: Jacob Champion Reviewed-by: Andres Freund Reviewed-by: Peter Eisentraut Reviewed-by: Jelte Fennema-Nio Discussion: https://postgr.es/m/tencent_063F89FA72CCF2E48A0DF5338841988E9809@qq.com --- doc/src/sgml/config.sgml | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index f8d862a6ce4..dc401087dc6 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1340,6 +1340,28 @@ include_dir 'conf.d' + + ssl_tls13_ciphers (string) + + ssl_tls13_ciphers configuration parameter + + + + + Specifies a list of cipher suites that are allowed by connections using + TLS version 1.3. Multiple cipher suites can be + specified by using a colon separated list. If left blank, the default + set of cipher suites in OpenSSL will be used. + + + + This parameter can only be set in the + postgresql.conf file or on the server command + line. + + + + ssl_ciphers (string) @@ -1348,15 +1370,13 @@ include_dir 'conf.d' - Specifies a list of SSL cipher suites that are - allowed to be used by SSL connections. See the - ciphers + Specifies a list of SSL ciphers that are allowed by + connections using TLS version 1.2 and lower, see + for TLS version 1.3 connections. See + the ciphers manual page in the OpenSSL package for the - syntax of this setting and a list of supported values. Only - connections using TLS version 1.2 and lower are affected. There is - currently no setting that controls the cipher choices used by TLS - version 1.3 connections. The default value is - HIGH:MEDIUM:+3DES:!aNULL. The default is usually a + syntax of this setting and a list of supported values. The default value + is HIGH:MEDIUM:+3DES:!aNULL. The default is usually a reasonable choice unless you have specific security requirements. -- cgit v1.2.3