mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
gpg: Allow decryption w/o public key but with correct card inserted.
* agent/command.c (cmd_readkey): Add option --no-data and special handling for $SIGNKEYID and $AUTHKEYID. * g10/call-agent.c (agent_scd_getattr): Create shadow keys for KEY-FPR output. * g10/skclist.c (enum_secret_keys): Automagically get a missing public key for the current card. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
84c2d97cca
commit
50293ec2eb
3 changed files with 64 additions and 5 deletions
|
@ -1232,6 +1232,16 @@ agent_scd_getattr (const char *name, struct agent_card_info_s *info)
|
|||
parm.ctx = agent_ctx;
|
||||
rc = assuan_transact (agent_ctx, line, NULL, NULL, default_inq_cb, &parm,
|
||||
learn_status_cb, info);
|
||||
if (!rc && !strcmp (name, "KEY-FPR"))
|
||||
{
|
||||
/* Let the agent create the shadow keys if not yet done. */
|
||||
if (info->fpr1len)
|
||||
assuan_transact (agent_ctx, "READKEY --card --no-data -- $SIGNKEYID",
|
||||
NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
if (info->fpr2len)
|
||||
assuan_transact (agent_ctx, "READKEY --card --no-data -- $ENCRKEYID",
|
||||
NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue