diff options
author | Werner Koch <[email protected]> | 2020-11-13 14:43:30 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2020-11-13 15:34:21 +0000 |
commit | e37c2e184448f64e285f925ab9636b5f21be99f7 (patch) | |
tree | 559f321178f8fca079bd7eed38efb43e164a094a /common/signal.c | |
parent | gpgconf: Yet another fix for --apply-profile. (diff) | |
download | gnupg-e37c2e184448f64e285f925ab9636b5f21be99f7.tar.gz gnupg-e37c2e184448f64e285f925ab9636b5f21be99f7.zip |
gpg: Fix the encrypt+sign hash algo preference selection for ECDSA.
* g10/keydb.h (pref_hint): Change from union to struct and add field
'exact'. Adjust callers.
* g10/pkclist.c (algo_available): Take care of the exact hint.
* g10/sign.c (sign_file): Rework the hash detection from
recipient prefs.
--
This fixes a encrypt+sign case like: One recipient key has SHA512 as
highest ranked hash preference but the the signing key is a 256 bit
curve. Because we don't want to use a truncated hash with ECDSA, we
need to have an exact match - this is in particular important for
smartcard which check that the hash matches the curves.
Signed-off-by: Werner Koch <[email protected]>
Ported-from-stable: aeed0b93ff660fe271d8f98f8d5ce60aa5bf3ebe
Diffstat (limited to 'common/signal.c')
0 files changed, 0 insertions, 0 deletions