From 593c895eed02e4e88b86f673d80aee3b0d64bd1b Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Thu, 29 Jun 2023 14:11:46 +0200 Subject: [PATCH] MINOR: ssl: allow to change the client-sigalgs on server lines This patch introduces the "client-sigalgs" keyword for the server line, which allows to configure the list of server signature algorithms negociated during the handshake. Also available as "ssl-default-server-client-sigalgs" in the global section. --- doc/configuration.txt | 23 +++++++++++++++++++++++ include/haproxy/server-t.h | 1 + include/haproxy/ssl_sock-t.h | 1 + src/cfgparse-ssl.c | 36 +++++++++++++++++++++++++++++++++++- src/ssl_sock.c | 14 +++++++++++++- 5 files changed, 73 insertions(+), 2 deletions(-) diff --git a/doc/configuration.txt b/doc/configuration.txt index d7f69514a3..89346651d3 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -1120,6 +1120,7 @@ The following keywords are supported in the "global" section : - ssl-default-bind-sigalgs - ssl-default-server-ciphers - ssl-default-server-ciphersuites + - ssl-default-server-client-sigalgs - ssl-default-server-options - ssl-default-server-sigalgs - ssl-dh-param-file @@ -2275,6 +2276,21 @@ ssl-default-server-ciphersuites "ssl-default-server-ciphers" keyword. Please check the "server" keyword for more information. +ssl-default-server-client-sigalgs + This setting is only available when support for OpenSSL was built in. It sets + the default string describing the list of signature algorithms related to + client authentication for all "server" lines which do not explicitly define + theirs. The format of the string is a colon-delimited list of signature + algorithms. Each signature algorithm can use one of two forms: TLS1.3 signature + scheme names ("rsa_pss_rsae_sha256") or the public key algorithm + digest form + ("ECDSA+SHA256"). A list can contain both forms. For more information on the + format, see SSL_CTX_set1_client_sigalgs(3). A list of signature algorithms is + also available in RFC8446 section 4.2.3 and in OpenSSL in the ssl/t1_lib.c + file. This setting is not applicable to TLSv1.1 and earlier versions of the + protocol as the signature algorithms aren't separately negotiated in these + versions. It is not recommended to change this setting unless compatibility + with a middlebox is required. + ssl-default-server-options [