diff options
author | Werner Koch <wk@gnupg.org> | 2007-12-11 14:19:38 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2007-12-11 14:19:38 +0100 |
commit | c8b76e56214ff466b2eb8b7dee5c3944a01c3c1f (patch) | |
tree | b1f290b76a1a3d4c138e63a3d4775d4639213855 /g10/mainproc.c | |
parent | 2007-12-10 Marcus Brinkmann <marcus@g10code.de> (diff) | |
download | gnupg2-c8b76e56214ff466b2eb8b7dee5c3944a01c3c1f.tar.xz gnupg2-c8b76e56214ff466b2eb8b7dee5c3944a01c3c1f.zip |
Allow decryption using type 20 Elgamal keys.
Diffstat (limited to '')
-rw-r--r-- | g10/mainproc.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c index 1d5c03f00..10d665b80 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -377,10 +377,16 @@ proc_pubkey_enc( CTX c, PACKET *pkt ) } } else if( is_ELGAMAL(enc->pubkey_algo) - || enc->pubkey_algo == PUBKEY_ALGO_DSA - || is_RSA(enc->pubkey_algo) ) { - /* FIXME: strore this all in a list and process it later */ - + || enc->pubkey_algo == PUBKEY_ALGO_DSA + || is_RSA(enc->pubkey_algo) + || enc->pubkey_algo == PUBKEY_ALGO_ELGAMAL) { + /* Note that we also allow type 20 Elgamal keys for decryption. + There are still a couple of those keys in active use as a + subkey. */ + + /* FIXME: Store this all in a list and process it later so that + we can prioritize what key to use. This gives a better user + experience if wildcard keyids are used. */ if ( !c->dek && ((!enc->keyid[0] && !enc->keyid[1]) || opt.try_all_secrets || !seckey_available( enc->keyid )) ) { |