On 5/13/26 11:08 AM, Dmitry Dolgov wrote:
The new version should address this problem, and includes documentation fix 
from Cary.


Hi Dmitry,

I like having some way to check the negotiated group akin to ssl_cipher(), though I am less sure about the utility of displaying groups that weren't negotiated (as noted upthread).

Assuming we still want to keep those details, I feel the naming could be a bit clearer. "supported_groups" makes sense in the context of the handshake, but having the server tell a client a value is "supported" feels like its saying something about itself rather than the client. Maybe "client_supported" is more informative?

Regardless, if RSA key exchange is used, SSL_get_negotiated_group is supposed to return NID_undef. Things will error (Openssl 3.5 example):

postgres=# ALTER SYSTEM SET ssl_ciphers='TLS_RSA_WITH_AES_128_CBC_SHA256';
(...)

PGSSLMAXPROTOCOLVERSION=TLSv1.2 psql "host=localhost dbname=postgres user=evsi sslmode=require"
(...)

postgres=# SELECT ssl_group_info();
2026-08-29 20:58:41.172 UTC [60034] ERROR: unknown OpenSSL group at position 0
2026-08-29 20:58:41.172 UTC [60034] STATEMENT:  SELECT ssl_group_info();

I feel that listing the (lack of) a negotiated group is the right thing to do in this case.


Evan


Reply via email to