From a39dc27c2573da14e85ca8961970c82009bd4ff6 Mon Sep 17 00:00:00 2001 From: Viktor Dukhovni Date: Thu, 13 Feb 2025 21:35:17 +1100 Subject: [PATCH] Log name of provided peer temp keys Log the peer's temp key name when it is from a provider. Reviewed-by: Tim Hudson Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/26734) --- apps/lib/s_cb.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/lib/s_cb.c b/apps/lib/s_cb.c index 026315406e2..ca665685a06 100644 --- a/apps/lib/s_cb.c +++ b/apps/lib/s_cb.c @@ -416,6 +416,7 @@ int ssl_print_groups(BIO *out, SSL *s, int noshared) int ssl_print_tmp_key(BIO *out, SSL *s) { + const char *keyname; EVP_PKEY *key; if (!SSL_get_peer_tmp_key(s, &key)) { @@ -425,12 +426,18 @@ int ssl_print_tmp_key(BIO *out, SSL *s) return 1; } - BIO_puts(out, "Server Temp Key: "); + BIO_puts(out, "Peer Temp Key: "); switch (EVP_PKEY_get_id(key)) { case EVP_PKEY_RSA: BIO_printf(out, "RSA, %d bits\n", EVP_PKEY_get_bits(key)); break; + case EVP_PKEY_KEYMGMT: + if ((keyname = EVP_PKEY_get0_type_name(key)) == NULL) + keyname = "?"; + BIO_printf(out, "%s\n", keyname); + break; + case EVP_PKEY_DH: BIO_printf(out, "DH, %d bits\n", EVP_PKEY_get_bits(key)); break; @@ -1332,8 +1339,7 @@ void print_ssl_summary(SSL *s) if (SSL_is_server(s)) ssl_print_groups(bio_err, s, 1); #endif - if (!SSL_is_server(s)) - ssl_print_tmp_key(bio_err, s); + ssl_print_tmp_key(bio_err, s); } int config_ctx(SSL_CONF_CTX *cctx, STACK_OF(OPENSSL_STRING) *str, -- 2.47.3