diff options
author | Werner Koch <[email protected]> | 2016-06-02 13:54:48 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-06-02 14:01:48 +0000 |
commit | 8f2a053a0ffa0430d01a53b4d491a3f0fff683eb (patch) | |
tree | 0251344b7eb7b579016fbaf393de014cf19daa33 /g10/gpg.c | |
parent | gpg: Do not abort on certain invalid packets. (diff) | |
download | gnupg-8f2a053a0ffa0430d01a53b4d491a3f0fff683eb.tar.gz gnupg-8f2a053a0ffa0430d01a53b4d491a3f0fff683eb.zip |
gpg: New command --quick-addkey.
* g10/keygen.c (DEFAULT_STD_SUBKEYUSE): New.
(ask_keysize): Factor code out to ...
(get_keysize_range, fixup_keysize): new.
(parse_parameter_usage): Factor parsing out to ...
(parse_usagestr): new. Allow use of "encr" as alias for "encrypt".
(parse_subkey_algostr_usagestr): New.
(generate_subkeypair): Add new args. Implement unattended mode.
* g10/keyedit.c (keyedit_quick_sign): Factor some code out to ...
(find_by_primary_fpr): new.
(keyedit_quick_addkey): New.
* g10/gpg.c (aQuickAddKey): New.
(opts): Add --quick-addkey.
(main): Implement.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | g10/gpg.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -117,6 +117,7 @@ enum cmd_and_opt_values aQuickSignKey, aQuickLSignKey, aQuickAddUid, + aQuickAddKey, aListConfig, aListGcryptConfig, aGPGConfList, @@ -426,6 +427,7 @@ static ARGPARSE_OPTS opts[] = { N_("quickly generate a new key pair")), ARGPARSE_c (aQuickAddUid, "quick-adduid", N_("quickly add a new user-id")), + ARGPARSE_c (aQuickAddKey, "quick-addkey", "@"), ARGPARSE_c (aFullKeygen, "full-gen-key" , N_("full featured key pair generation")), ARGPARSE_c (aGenRevoke, "gen-revoke",N_("generate a revocation certificate")), @@ -2433,6 +2435,7 @@ main (int argc, char **argv) case aStore: case aQuickKeygen: case aQuickAddUid: + case aQuickAddKey: case aExportOwnerTrust: case aImportOwnerTrust: case aRebuildKeydbCaches: @@ -3775,6 +3778,7 @@ main (int argc, char **argv) case aDeleteSecretAndPublicKeys: case aQuickKeygen: case aQuickAddUid: + case aQuickAddKey: case aFullKeygen: case aKeygen: case aImport: @@ -4148,6 +4152,30 @@ main (int argc, char **argv) } break; + case aQuickAddKey: + { + const char *x_fpr, *x_algo, *x_usage, *x_expire; + + if (argc < 1 || argc > 4) + wrong_args ("--quick-addkey FINGERPRINT [ALGO [USAGE [EXPIRE]]]"); + x_fpr = *argv++; argc--; + x_algo = ""; + x_usage = ""; + x_expire = ""; + if (argc) + { + x_algo = *argv++; argc--; + if (argc) + { + x_usage = *argv++; argc--; + if (argc) + x_expire = *argv++; argc--; + } + } + keyedit_quick_addkey (ctrl, x_fpr, x_algo, x_usage, x_expire); + } + break; + case aFastImport: opt.import_options |= IMPORT_FAST; case aImport: |