mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
card: Support brainpool curves in the generate command.
* tools/gpg-card.c (cmd_generate): Add brainpool curves and dummy name "help". Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
2e5ab34496
commit
9df9996b41
@ -2157,8 +2157,9 @@ static gpg_error_t
|
|||||||
cmd_generate (card_info_t info, char *argstr)
|
cmd_generate (card_info_t info, char *argstr)
|
||||||
{
|
{
|
||||||
static char * const valid_algos[] =
|
static char * const valid_algos[] =
|
||||||
{ "rsa2048", "rsa3072", "rsa4096",
|
{ "rsa2048", "rsa3072", "rsa4096", "",
|
||||||
"nistp256", "nistp384", "nistp521",
|
"nistp256", "nistp384", "nistp521", "",
|
||||||
|
"brainpoolP256r1", "brainpoolP384r1", "brainpoolP512r1", "",
|
||||||
"ed25519", "cv25519",
|
"ed25519", "cv25519",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
@ -2172,8 +2173,9 @@ cmd_generate (card_info_t info, char *argstr)
|
|||||||
if (!info)
|
if (!info)
|
||||||
return print_help
|
return print_help
|
||||||
("GENERATE [--force] [--algo=ALGO] KEYREF\n\n"
|
("GENERATE [--force] [--algo=ALGO] KEYREF\n\n"
|
||||||
"Create a new key on a card. For OpenPGP cards are menu is used\n"
|
"Create a new key on a card. For OpenPGP cards a menu is used\n"
|
||||||
"and KEYREF is ignored. Use --force to overwrite an existing key.",
|
"and KEYREF is ignored. Use --force to overwrite an existing key.\n"
|
||||||
|
"Using \"help\" for ALGO gives a list of known algorithms.\n",
|
||||||
APP_TYPE_OPENPGP, APP_TYPE_PIV, 0);
|
APP_TYPE_OPENPGP, APP_TYPE_PIV, 0);
|
||||||
|
|
||||||
if (opt.interactive || opt.verbose)
|
if (opt.interactive || opt.verbose)
|
||||||
@ -2210,17 +2212,30 @@ cmd_generate (card_info_t info, char *argstr)
|
|||||||
if (opt_algo)
|
if (opt_algo)
|
||||||
{
|
{
|
||||||
for (i=0; valid_algos[i]; i++)
|
for (i=0; valid_algos[i]; i++)
|
||||||
if (!strcmp (valid_algos[i], opt_algo))
|
if (*valid_algos[i] && !strcmp (valid_algos[i], opt_algo))
|
||||||
break;
|
break;
|
||||||
if (!valid_algos[i])
|
if (!valid_algos[i])
|
||||||
{
|
{
|
||||||
err = gpg_error (GPG_ERR_PUBKEY_ALGO);
|
int lf = 1;
|
||||||
|
if (!ascii_strcasecmp (opt_algo, "help"))
|
||||||
|
log_info ("Known algorithms:\n");
|
||||||
|
else
|
||||||
|
{
|
||||||
log_info ("Invalid algorithm '%s' given. Use one:\n", opt_algo);
|
log_info ("Invalid algorithm '%s' given. Use one:\n", opt_algo);
|
||||||
|
err = gpg_error (GPG_ERR_PUBKEY_ALGO);
|
||||||
|
}
|
||||||
for (i=0; valid_algos[i]; i++)
|
for (i=0; valid_algos[i]; i++)
|
||||||
if (!(i%5))
|
{
|
||||||
|
if (!*valid_algos[i])
|
||||||
|
lf = 1;
|
||||||
|
else if (lf)
|
||||||
|
{
|
||||||
|
lf = 0;
|
||||||
log_info (" %s%s", valid_algos[i], valid_algos[i+1]?",":".");
|
log_info (" %s%s", valid_algos[i], valid_algos[i+1]?",":".");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
log_printf (" %s%s", valid_algos[i], valid_algos[i+1]?",":".");
|
log_printf (" %s%s", valid_algos[i], valid_algos[i+1]?",":".");
|
||||||
|
}
|
||||||
log_info ("Note that the card may not support all of them.\n");
|
log_info ("Note that the card may not support all of them.\n");
|
||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user