mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
card: Implement non-interactive mode.
* tools/card-tool.h (opt): Add field 'initialized'. * tools/card-call-scd.c (scd_learn): Set it. * tools/gpg-card-tool.c (main): Reworked. (dispatch_command): New. -- This work is not yet finished because most commands need some tweaks for non-interactive work. What you already can do are things like: $ gpg-card-tool list -- 'auth <oldkey' \ -- auth --setkey --raw 123456781234567812345678 -- help auth Which will list the current card, authenticate using a hex encoded key from the file "oldkey", set the new admin key to "123...78", and print help for the auth command. Note that the -- acts as a delimiter between commands. To use a double dash as argument to a command the entire command must be quoted. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
da38325740
commit
1c0fa3e6f7
3 changed files with 248 additions and 73 deletions
|
@ -956,6 +956,8 @@ scd_learn (card_info_t info)
|
|||
/* Also try to get some other key attributes. */
|
||||
if (!err)
|
||||
{
|
||||
info->initialized = 1;
|
||||
|
||||
err = scd_getattr ("KEY-ATTR", info);
|
||||
if (gpg_err_code (err) == GPG_ERR_INV_NAME
|
||||
|| gpg_err_code (err) == GPG_ERR_UNSUPPORTED_OPERATION)
|
||||
|
@ -964,7 +966,6 @@ scd_learn (card_info_t info)
|
|||
if (gpg_err_code (err) == GPG_ERR_INV_NAME
|
||||
|| gpg_err_code (err) == GPG_ERR_UNSUPPORTED_OPERATION)
|
||||
err = 0; /* Not implemented or GETATTR not supported. */
|
||||
|
||||
}
|
||||
|
||||
if (info == &dummyinfo)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue