Correctly display the signing/hmac algorithm in the dgst app
authorMatt Caswell <matt@openssl.org>
Sun, 13 Sep 2020 10:09:20 +0000 (11:09 +0100)
committerDmitry Belyavskiy <beldmit@gmail.com>
Thu, 17 Sep 2020 08:12:08 +0000 (11:12 +0300)
commitd8025f4ac002f6de775a8c3c7936036d0722eed6
tree22d60990cab760b182fb7c6f3523d8b49e2841d3
parentb0002eb09ac744d0c702c85648b2517e214580ea
Correctly display the signing/hmac algorithm in the dgst app

In OpenSSL 1.1.1 doing an HMAC operation with (say) SHA1 would produce
output like this:

HMAC-SHA1(README.md)= 553154e4c0109ddc320bb495735906ad7135c2f1

Prior to this change master would instead display this like so:

SHA1(README.md)= 553154e4c0109ddc320bb495735906ad7135c2f1

The problem is that dgst was using EVP_PKEY_asn1_get0_info() to get
the algorithm name from the EVP_PKEY. This doesn't work with provider
based keys. Instead we introduce a new EVP_PKEY_get0_first_alg_name()
function, and an equivalent EVP_KEYMGMT_get0_first_name() function.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/12850)
apps/dgst.c
crypto/evp/evp_pkey.c
crypto/evp/keymgmt_meth.c
include/openssl/evp.h
util/libcrypto.num