mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
agent: Create and use Token entries to track the display s/n.
* agent/findkey.c (agent_write_private_key): Add arg dispserialno and update the token. (agent_write_shadow_key): Add arg dispserialno and adjust all callers. -- GnuPG-bug-id: 6135 Note that this has been forward ported from 2.2
This commit is contained in:
parent
a048a93ed2
commit
13013ec1c0
10 changed files with 102 additions and 29 deletions
|
@ -1359,7 +1359,14 @@ cmd_readkey (assuan_context_t ctx, char *line)
|
|||
if (agent_key_available (grip))
|
||||
{
|
||||
/* (Shadow)-key is not available in our key storage. */
|
||||
rc = agent_write_shadow_key (grip, serialno, keyid, pkbuf, 0);
|
||||
char *dispserialno;
|
||||
char hexgrip[40+1];
|
||||
|
||||
bin2hex (grip, 20, hexgrip);
|
||||
agent_card_getattr (ctrl, "$DISPSERIALNO", &dispserialno, hexgrip);
|
||||
rc = agent_write_shadow_key (grip, serialno, keyid, pkbuf, 0,
|
||||
dispserialno);
|
||||
xfree (dispserialno);
|
||||
if (rc)
|
||||
goto leave;
|
||||
}
|
||||
|
@ -2916,11 +2923,11 @@ cmd_import_key (assuan_context_t ctx, char *line)
|
|||
ctrl->s2k_count);
|
||||
if (!err)
|
||||
err = agent_write_private_key (grip, finalkey, finalkeylen, force,
|
||||
NULL, NULL, opt_timestamp);
|
||||
NULL, NULL, NULL, opt_timestamp);
|
||||
}
|
||||
else
|
||||
err = agent_write_private_key (grip, key, realkeylen, force, NULL, NULL,
|
||||
opt_timestamp);
|
||||
err = agent_write_private_key (grip, key, realkeylen, force,
|
||||
NULL, NULL, NULL, opt_timestamp);
|
||||
|
||||
leave:
|
||||
gcry_sexp_release (openpgp_sexp);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue