diff options
author | Neal H. Walfield <[email protected]> | 2016-02-19 13:53:29 +0000 |
---|---|---|
committer | Neal H. Walfield <[email protected]> | 2016-02-19 15:13:01 +0000 |
commit | bf9d1248c80205795e26156f67aff0b3f796cfce (patch) | |
tree | 2473ca228b1c5074cf9278a60155fc635b34d4f9 | |
parent | gpg: Add accessor & utility functions for pk->keyid and pk->main_keyid. (diff) | |
download | gnupg-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.c | 7 |
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); |