mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpg: New option --default-new-key-adsk and "addadsk" for edit-key.
* g10/free-packet.c (copy_public_key): Factor some code out to ...
(copy_public_key_basics): new.
* keygen.c (keygen_add_key_flags_and_expire): Rewrite and make public.
* g10/keyedit.c (enum cmdids): Add cmdADDADSK.
(keyedit_menu): Add command "addadsk".
(menu_addadsk): New.
* g10/options.h (opt): Add field def_new_key_adsks.
* g10/gpg.c (oDefaultNewKeyADSK): New.
(opts): Add --default-new-key-adsk.
(main): Parse option.
* g10/keyedit.c (menu_addadsk): Factor some code out to ...
(append_adsk_to_key): new. Add compliance check.
* g10/keygen.c (pADSK): New.
(para_data_s): Add adsk to the union.
(release_parameter_list): Free the adsk.
(prepare_adsk): New.
(get_parameter_adsk): New.
(get_parameter_revkey): Remove unneeded arg key and change callers.
(proc_parameter_file): Prepare adsk parameter from the configured
fingerprints.
(do_generate_keypair): Create adsk.
--
GnuPG-bug-id: 6882
(cherry picked from commit ed118e2ed5
)
and modified to adjust to other code changes
This commit is contained in:
parent
7eb39815bd
commit
eafe175320
12 changed files with 495 additions and 55 deletions
|
@ -1123,19 +1123,23 @@ build_sig_subpkt (PKT_signature *sig, sigsubpkttype_t type,
|
|||
|
||||
/*
|
||||
* Put all the required stuff from SIG into subpackets of sig.
|
||||
* PKSK is the signing key.
|
||||
* PKSK is the signing key. SIGNHINTS are various flags like
|
||||
* SIGNHINT_ADSK.
|
||||
* Hmmm, should we delete those subpackets which are in a wrong area?
|
||||
*/
|
||||
void
|
||||
build_sig_subpkt_from_sig (PKT_signature *sig, PKT_public_key *pksk)
|
||||
build_sig_subpkt_from_sig (PKT_signature *sig, PKT_public_key *pksk,
|
||||
unsigned int signhints)
|
||||
{
|
||||
u32 u;
|
||||
byte buf[1+MAX_FINGERPRINT_LEN];
|
||||
size_t fprlen;
|
||||
|
||||
/* For v4 keys we need to write the ISSUER subpacket. We do not
|
||||
* want that for a future v5 format. */
|
||||
if (pksk->version < 5)
|
||||
* want that for a future v5 format. We also don't write it if
|
||||
* only the new RENC keyflag is set (implementations with support
|
||||
* for this key flag should understand the ISSUER_FPR). */
|
||||
if (pksk->version < 5 && !(signhints & SIGNHINT_ADSK))
|
||||
{
|
||||
u = sig->keyid[0];
|
||||
buf[0] = (u >> 24) & 0xff;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue