summaryrefslogtreecommitdiffstats
path: root/apps/dgst.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2020-09-13 11:09:20 +0100
committerDmitry Belyavskiy <beldmit@gmail.com>2020-09-17 11:12:08 +0300
commitd8025f4ac002f6de775a8c3c7936036d0722eed6 (patch)
tree22d60990cab760b182fb7c6f3523d8b49e2841d3 /apps/dgst.c
parentb0002eb09ac744d0c702c85648b2517e214580ea (diff)
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)
Diffstat (limited to 'apps/dgst.c')
-rw-r--r--apps/dgst.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/apps/dgst.c b/apps/dgst.c
index 7fc7da1e53..650115b468 100644
--- a/apps/dgst.c
+++ b/apps/dgst.c
@@ -406,13 +406,8 @@ int dgst_main(int argc, char **argv)
} else {
const char *sig_name = NULL;
if (!out_bin) {
- if (sigkey != NULL) {
- const EVP_PKEY_ASN1_METHOD *ameth;
- ameth = EVP_PKEY_get0_asn1(sigkey);
- if (ameth)
- EVP_PKEY_asn1_get0_info(NULL, NULL,
- NULL, NULL, &sig_name, ameth);
- }
+ if (sigkey != NULL)
+ sig_name = EVP_PKEY_get0_first_alg_name(sigkey);
}
ret = 0;
for (i = 0; i < argc; i++) {