Allow decryption using type 20 Elgamal keys.

This commit is contained in:
Werner Koch 2007-12-11 13:19:38 +00:00
parent b644408d0d
commit c8b76e5621
2 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2007-12-11 Werner Koch <wk@g10code.com>
* mainproc.c (proc_pubkey_enc): Allo type 20 Elgamal key for
decryption.
2007-12-10 Werner Koch <wk@g10code.com>
* import.c (auto_create_card_key_stub): Do not clear the entire

View File

@ -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 )) ) {