* keygen.c (do_add_key_flags): The spec says that all primary keys MUST be
authorDavid Shaw <dshaw@jabberwocky.com>
Sun, 10 Oct 2004 14:19:39 +0000 (14:19 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Sun, 10 Oct 2004 14:19:39 +0000 (14:19 +0000)
able to certify.  Force the certify flag on for primaries (and off for
subkeys).

g10/ChangeLog
g10/keygen.c

index ab6de78..0153c29 100644 (file)
@@ -1,5 +1,9 @@
 2004-10-10  David Shaw  <dshaw@jabberwocky.com>
 
+       * keygen.c (do_add_key_flags): The spec says that all primary keys
+       MUST be able to certify.  Force the certify flag on for primaries
+       (and off for subkeys).
+
        * keygen.c (generate_keypair): Fix generating keys with the auth
        flag.
 
index 62ac28f..82ac113 100644 (file)
@@ -185,13 +185,13 @@ do_add_key_flags (PKT_signature *sig, unsigned int use)
         return;
 
     buf[0] = 0;
+
+    /* The spec says that all primary keys MUST be able to certify. */
+    if(sig->sig_class!=0x18)
+      buf[0] |= 0x01;
+
     if (use & PUBKEY_USAGE_SIG)
-      {
-       if(sig->sig_class==0x18)
-         buf[0] |= 0x02; /* Don't set the certify flag for subkeys */
-       else
-         buf[0] |= 0x01 | 0x02;
-      }
+      buf[0] |= 0x02;
     if (use & PUBKEY_USAGE_ENC)
         buf[0] |= 0x04 | 0x08;
     if (use & PUBKEY_USAGE_AUTH)