diff options
author | Werner Koch <[email protected]> | 2014-11-19 09:34:32 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2014-11-20 19:09:17 +0000 |
commit | f80c2dd78d522f12b2c7afbd5c0763a97d87d2bd (patch) | |
tree | 6ac59ce2672fd8bd0aea13cf2f8ac73b8bc72905 | |
parent | Fix linker problem on OS X. (diff) | |
download | gnupg-f80c2dd78d522f12b2c7afbd5c0763a97d87d2bd.tar.gz gnupg-f80c2dd78d522f12b2c7afbd5c0763a97d87d2bd.zip |
gpg: Fix hash detection for ECDSA.
* g10/sign.c (sign_file): Use DSA or ECDSA and not DSA|EdDSA.
--
This error was introduced with
commit b7f8dec6325f1c80640f878ed3080bbc194fbc78
while separating EdDSA from ECDSA.
Found due to a related bug report from Brian Minton.
Signed-off-by: Werner Koch <[email protected]>
-rw-r--r-- | g10/sign.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/g10/sign.c b/g10/sign.c index e7d4a6888..2e62f04f2 100644 --- a/g10/sign.c +++ b/g10/sign.c @@ -899,13 +899,12 @@ sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr, for (sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) { if (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_DSA - || (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_EDDSA - && !openpgp_oid_is_ed25519 (sk_rover->pk->pkey[1]))) + || sk_rover->pk->pubkey_algo == PUBKEY_ALGO_ECDSA) { int temp_hashlen = (gcry_mpi_get_nbits (sk_rover->pk->pkey[1])); - if (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_EDDSA) + if (sk_rover->pk->pubkey_algo == PUBKEY_ALGO_ECDSA) temp_hashlen = ecdsa_qbits_from_Q (temp_hashlen); temp_hashlen = (temp_hashlen+7)/8; @@ -915,7 +914,7 @@ sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr, if (hint.digest_length<temp_hashlen) hint.digest_length=temp_hashlen; } - /* FIXME: need toall gpg-agent */ + /* FIXME: need to check gpg-agent for this. */ /* else if (sk_rover->pk->is_protected */ /* && sk_rover->pk->protect.s2k.mode == 1002) */ /* smartcard = 1; */ |