mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
card: Remove command "key-attr" and hack on "generate".
* tools/gpg-card.h (struct key_attr): Remove. (struct key_info_s): Remove key_attr. Add keyalgo and keyalgo_id. * tools/card-call-scd.c (learn_status_cb): Rework the key-attr info. * tools/gpg-card.c (list_one_kinfo): Always show the algorithm; if there is no key show the key attributes instead. (list_openpgp): Do not print the "Key attributes". (generate_key): Factor the repalce key pormpt out to ... (ask_replace_keys): new. (generate_openpgp): Rename to generate_all_openpgp_card_keys and add an algo parameter. (generate_generic): Rename to generate_key. Prepare generation of a single OpenPGP key. (cmd_generate): Revamp. (ask_card_rsa_keysize): Remove. (ask_card_keyattr): Remove. (do_change_keyattr): Remove. (cmd_keyattr): Remove. (enum cmdids): Remove cmdKEYATTR. (cmds): Ditto. (dispatch_command): Ditto. (interactive_loop): Ditto. -- This change shows the key attributes of an OpenPGP card instead of the key's algorithm if no key exists. It also remove the key-attr command because for uniformity it is better to do this directly in scd/app-openpgp.c At least for this new gpg-card tool. There a couple of other changes but to the generate command but they are not yet ready. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
fb6ff7ead7
commit
438b7881ba
3 changed files with 203 additions and 398 deletions
|
@ -102,16 +102,6 @@ typedef enum
|
|||
} app_type_t;
|
||||
|
||||
|
||||
/* OpenPGP card key attributes. */
|
||||
struct key_attr
|
||||
{
|
||||
int algo; /* Algorithm identifier. */
|
||||
union {
|
||||
unsigned int nbits; /* Supported keysize. */
|
||||
const char *curve; /* Name of curve. */
|
||||
};
|
||||
};
|
||||
|
||||
/* An object to store information pertaining to a key pair as stored
|
||||
* on a card. This is commonly used as a linked list with all keys
|
||||
* known for the current card. */
|
||||
|
@ -123,6 +113,11 @@ struct key_info_s
|
|||
|
||||
unsigned char xflag; /* Temporary flag to help processing a list. */
|
||||
|
||||
/* OpenPGP card and possible other cards keyalgo string (an atom)
|
||||
* and the id of the algorithm. */
|
||||
const char *keyalgo;
|
||||
enum gcry_pk_algos keyalgo_id;
|
||||
|
||||
/* The three next items are mostly useful for OpenPGP cards. */
|
||||
unsigned char fprlen; /* Use length of the next item. */
|
||||
unsigned char fpr[32]; /* The binary fingerprint of length FPRLEN. */
|
||||
|
@ -169,7 +164,6 @@ struct card_info_s
|
|||
int chvmaxlen[3]; /* Maximum allowed length of a CHV. */
|
||||
int chvinfo[3]; /* Allowed retries for the CHV; 0 = blocked. */
|
||||
unsigned char chvusage[2]; /* Data object 5F2F */
|
||||
struct key_attr key_attr[3]; /* OpenPGP card key attributes. */
|
||||
struct {
|
||||
unsigned int ki:1; /* Key import available. */
|
||||
unsigned int aac:1; /* Algorithm attributes are changeable. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue