aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeal H. Walfield <[email protected]>2016-02-19 13:53:29 +0000
committerNeal H. Walfield <[email protected]>2016-02-19 15:13:01 +0000
commitbf9d1248c80205795e26156f67aff0b3f796cfce (patch)
tree2473ca228b1c5074cf9278a60155fc635b34d4f9
parentgpg: Add accessor & utility functions for pk->keyid and pk->main_keyid. (diff)
downloadgnupg-bf9d1248c80205795e26156f67aff0b3f796cfce.tar.gz
gnupg-bf9d1248c80205795e26156f67aff0b3f796cfce.zip
gpg: Initialize the primary key when generating a key.
* g10/keygen.c (do_generate_keypair): Initialize pri_psk->flags.primary, pri_psk->keyid and pri_psk->main_keyid. -- Signed-off-by: Neal H. Walfield <[email protected]>
-rw-r--r--g10/keygen.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/g10/keygen.c b/g10/keygen.c
index 7b5a35be9..be132bb07 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -4079,6 +4079,13 @@ do_generate_keypair (ctrl_t ctrl, struct para_data_s *para,
assert (pri_psk);
}
+ /* Make sure a few fields are correctly set up before going further. */
+ pri_psk->flags.primary = 1;
+ keyid_from_pk (pri_psk, NULL);
+ /* We don't use pk_keyid to get keyid, because it also asserts that
+ main_keyid is set! */
+ keyid_copy (pri_psk->main_keyid, pri_psk->keyid);
+
if (!err && (revkey = get_parameter_revkey (para, pREVOKER)))
err = write_direct_sig (pub_root, pri_psk, revkey, timestamp, cache_nonce);