mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg: In a list of card keys show the standard keys.
* g10/keygen.c (ask_algo): Identify the standard keys. -- The asterisks mark the usages of a key as retruned by scd via the $AUTHKEYID et al. attributes. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
0d2c9ef29c
commit
ce403c74db
@ -133,6 +133,14 @@ encryption. This algorithm should only be used in certain domains.
|
|||||||
Please consult your security expert first.
|
Please consult your security expert first.
|
||||||
.
|
.
|
||||||
|
|
||||||
|
.gpg.keygen.cardkey
|
||||||
|
Select which key from the card shall be used.
|
||||||
|
|
||||||
|
The listing shows the selection index, the keygrip (a string of hex
|
||||||
|
digits), the card specific key reference, the algorithm used for this
|
||||||
|
key, and in parentheses the usage of the key (cert, sign, auth, encr).
|
||||||
|
If known the standard usage for a key is marked with an asterisk.
|
||||||
|
.
|
||||||
|
|
||||||
.gpg.keygen.flags
|
.gpg.keygen.flags
|
||||||
Toggle the capabilities of the key.
|
Toggle the capabilities of the key.
|
||||||
|
22
g10/keygen.c
22
g10/keygen.c
@ -2268,6 +2268,12 @@ ask_algo (ctrl_t ctrl, int addmode, int *r_subkey_algo, unsigned int *r_usage,
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
char *authkeyref, *encrkeyref, *signkeyref;
|
||||||
|
|
||||||
|
agent_scd_getattr_one ("$AUTHKEYID", &authkeyref);
|
||||||
|
agent_scd_getattr_one ("$ENCRKEYID", &encrkeyref);
|
||||||
|
agent_scd_getattr_one ("$SIGNKEYID", &signkeyref);
|
||||||
|
|
||||||
tty_printf (_("Available keys:\n"));
|
tty_printf (_("Available keys:\n"));
|
||||||
for (count=1,sl=keypairlist; sl; sl = sl->next, count++)
|
for (count=1,sl=keypairlist; sl; sl = sl->next, count++)
|
||||||
{
|
{
|
||||||
@ -2308,17 +2314,23 @@ ask_algo (ctrl_t ctrl, int addmode, int *r_subkey_algo, unsigned int *r_usage,
|
|||||||
}
|
}
|
||||||
if ((sl->flags & GCRY_PK_USAGE_SIGN))
|
if ((sl->flags & GCRY_PK_USAGE_SIGN))
|
||||||
{
|
{
|
||||||
tty_printf ("%ssign", any?",":" (");
|
tty_printf ("%ssign%s", any?",":" (",
|
||||||
|
(signkeyref && keyref
|
||||||
|
&& !strcmp (signkeyref, keyref))? "*":"");
|
||||||
any = 1;
|
any = 1;
|
||||||
}
|
}
|
||||||
if ((sl->flags & GCRY_PK_USAGE_AUTH))
|
if ((sl->flags & GCRY_PK_USAGE_AUTH))
|
||||||
{
|
{
|
||||||
tty_printf ("%sauth", any?",":" (");
|
tty_printf ("%sauth%s", any?",":" (",
|
||||||
|
(authkeyref && keyref
|
||||||
|
&& !strcmp (authkeyref, keyref))? "*":"");
|
||||||
any = 1;
|
any = 1;
|
||||||
}
|
}
|
||||||
if ((sl->flags & GCRY_PK_USAGE_ENCR))
|
if ((sl->flags & GCRY_PK_USAGE_ENCR))
|
||||||
{
|
{
|
||||||
tty_printf ("%sencr", any?",":" (");
|
tty_printf ("%sencr%s", any?",":" (",
|
||||||
|
(encrkeyref && keyref
|
||||||
|
&& !strcmp (encrkeyref, keyref))? "*":"");
|
||||||
any = 1;
|
any = 1;
|
||||||
}
|
}
|
||||||
tty_printf ("%s\n", any?")":"");
|
tty_printf ("%s\n", any?")":"");
|
||||||
@ -2330,6 +2342,10 @@ ask_algo (ctrl_t ctrl, int addmode, int *r_subkey_algo, unsigned int *r_usage,
|
|||||||
cpr_kill_prompt ();
|
cpr_kill_prompt ();
|
||||||
trim_spaces (answer);
|
trim_spaces (answer);
|
||||||
selection = atoi (answer);
|
selection = atoi (answer);
|
||||||
|
xfree (authkeyref);
|
||||||
|
xfree (encrkeyref);
|
||||||
|
xfree (signkeyref);
|
||||||
|
|
||||||
}
|
}
|
||||||
while (!(selection > 0 && selection < count));
|
while (!(selection > 0 && selection < count));
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user