gpg: New option --default-new-key-algo.
authorWerner Koch <wk@gnupg.org>
Fri, 2 Dec 2016 18:43:36 +0000 (19:43 +0100)
committerWerner Koch <wk@gnupg.org>
Fri, 2 Dec 2016 18:47:40 +0000 (19:47 +0100)
commitce29272e24e7b718b8fca9b84bc728e65f3dea24
tree72f0ef8d2f20ed9faf40d332b95a3e3ef75ef1fe
parentcd532bb7b866e104304e2443cc942799c385daa5
gpg: New option --default-new-key-algo.

* common/openpgp-oid.c (openpgp_is_curve_supported): Add optional arg
R_ALGO and change all callers.
* common/util.h (GPG_ERR_UNKNOWN_FLAG): New error code.
* g10/options.h (struct opt): Add field DEF_NEW_KEY_ALGO.
* g10/gpg.c (oDefaultNewKeyAlgo): New enum.
(opts): New option "--default-new-key-algo".
(main): Set the option.
* g10/keygen.c: Remove DEFAULT_STD_ FUTURE_STD_ constants and replace
them by ...
(DEFAULT_STD_KEY_PARAM, FUTURE_STD_KEY_PARAM): new string constants.
(get_keysize_range): Remove arg R_DEF and return that value instead.
Change all callers.
(gen_rsa): Use get_keysize_range instead of the removed
DEFAULT_STD_KEYSIZE.
(parse_key_parameter_part): New function.
(parse_key_parameter_string): New function.
(quick_generate_keypair): Refactor using parse_key_parameter_string.
(generate_keypair): Ditto.
(parse_algo_usage_expire): Ditto.
--

This new option is intended to be used in the forthcoming
--set-profile command of gpgconf.  It allows to provide a gpg
configuration with custom defaults for a new key using the simple
commands which use the default algorithm set.

Signed-off-by: Werner Koch <wk@gnupg.org>
NEWS
common/openpgp-oid.c
common/util.h
doc/gpg.texi
g10/call-agent.c
g10/gpg.c
g10/keygen.c
g10/options.h
scd/app-openpgp.c