Allow decryption using type 20 key.
authorWerner Koch <wk@gnupg.org>
Tue, 11 Dec 2007 17:14:05 +0000 (17:14 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 11 Dec 2007 17:14:05 +0000 (17:14 +0000)
cipher/ChangeLog
cipher/pubkey.c

index 07ab5bd..f3ff35b 100644 (file)
@@ -1,3 +1,8 @@
+2007-12-11  Werner Koch  <wk@g10code.com>
+
+       * pubkey.c (check_pubkey_algo2): Hack to allow decryption using an
+       type 20 Elgamal key.
+
 2007-11-29  David Shaw  <dshaw@jabberwocky.com>
 
        * camellia-glue.c (camellia_get_info), cipher.c
index 0664244..4313cd6 100644 (file)
@@ -272,6 +272,12 @@ check_pubkey_algo2( int algo, unsigned use )
 {
     int i;
 
+    /* Map type 20 Elgamal algorithm to type 16 if it is used for
+       decryption.  This allows to use legacy type 20 Elgamal keys for
+       decryption.  */
+    if (algo == PUBKEY_ALGO_ELGAMAL && use == PUBKEY_USAGE_ENC)
+      algo = PUBKEY_ALGO_ELGAMAL_E;
+
     do {
        for(i=0; pubkey_table[i].name; i++ )
            if( pubkey_table[i].algo == algo ) {