summaryrefslogtreecommitdiffstats
path: root/apps/rehash.c
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2020-12-28 11:27:31 +0100
committerDr. David von Oheimb <dev@ddvo.net>2021-01-13 09:09:36 +0100
commitbf973d0697e61a44dc46d08b0421a08a8cb61887 (patch)
tree023ed993172263fa1c261e8321d77b325380d95f /apps/rehash.c
parent5a2d0ef36f4c130758a9d5e84f93004458e3ce60 (diff)
Add X509_NAME_hash_ex() to be able to check if it failed due to unsupported SHA1
Deprecate X509_NAME_hash() Document X509_NAME_hash_ex(), X509_NAME_hash(), X509_{subject,issuer}_name_hash() Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/13762)
Diffstat (limited to 'apps/rehash.c')
-rw-r--r--apps/rehash.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/apps/rehash.c b/apps/rehash.c
index 2b867d43cc..29dc76bc38 100644
--- a/apps/rehash.c
+++ b/apps/rehash.c
@@ -291,10 +291,23 @@ static int do_file(const char *filename, const char *fullpath, enum Hash h)
goto end;
}
if (name != NULL) {
- if ((h == HASH_NEW) || (h == HASH_BOTH))
- errs += add_entry(type, X509_NAME_hash(name), filename, digest, 1, ~0);
+ if (h == HASH_NEW || h == HASH_BOTH) {
+ int ok;
+ unsigned long hash_value =
+ X509_NAME_hash_ex(name,
+ app_get0_libctx(), app_get0_propq(), &ok);
+
+ if (ok) {
+ errs += add_entry(type, hash_value, filename, digest, 1, ~0);
+ } else {
+ BIO_printf(bio_err, "%s: error calculating SHA1 hash value\n",
+ opt_getprog());
+ errs++;
+ }
+ }
if ((h == HASH_OLD) || (h == HASH_BOTH))
- errs += add_entry(type, X509_NAME_hash_old(name), filename, digest, 1, ~0);
+ errs += add_entry(type, X509_NAME_hash_old(name),
+ filename, digest, 1, ~0);
}
end: