mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-30 16:17:02 +01:00
g10: Make sure to emit NEED_PASSPHRASE on --import of secret key.
* call-agent.h (agent_import_key): Add keyid parameters. * call-agent.c (agent_import_key): Set keyid parameters. * import.c (transfer_secret_keys): Pass keyid parameters. Signed-off-by: Marcus Brinkmann <mb@g10code.com> GnuPG-bug-id: 2667
This commit is contained in:
parent
78ebc62604
commit
872137b592
@ -2096,7 +2096,8 @@ inq_import_key_parms (void *opaque, const char *line)
|
||||
/* Call the agent to import a key into the agent. */
|
||||
gpg_error_t
|
||||
agent_import_key (ctrl_t ctrl, const char *desc, char **cache_nonce_addr,
|
||||
const void *key, size_t keylen, int unattended, int force)
|
||||
const void *key, size_t keylen, int unattended, int force,
|
||||
u32 *keyid, u32 *mainkeyid, int pubkey_algo)
|
||||
{
|
||||
gpg_error_t err;
|
||||
struct import_key_parm_s parm;
|
||||
@ -2106,6 +2107,9 @@ agent_import_key (ctrl_t ctrl, const char *desc, char **cache_nonce_addr,
|
||||
|
||||
memset (&dfltparm, 0, sizeof dfltparm);
|
||||
dfltparm.ctrl = ctrl;
|
||||
dfltparm.keyinfo.keyid = keyid;
|
||||
dfltparm.keyinfo.mainkeyid = mainkeyid;
|
||||
dfltparm.keyinfo.pubkey_algo = pubkey_algo;
|
||||
|
||||
err = start_agent (ctrl, 0);
|
||||
if (err)
|
||||
|
@ -186,7 +186,8 @@ gpg_error_t agent_keywrap_key (ctrl_t ctrl, int forexport,
|
||||
/* Send a key to the agent. */
|
||||
gpg_error_t agent_import_key (ctrl_t ctrl, const char *desc,
|
||||
char **cache_nonce_addr, const void *key,
|
||||
size_t keylen, int unattended, int force);
|
||||
size_t keylen, int unattended, int force,
|
||||
u32 *keyid, u32 *mainkeyid, int pubkey_algo);
|
||||
|
||||
/* Receive a key from the agent. */
|
||||
gpg_error_t agent_export_key (ctrl_t ctrl, const char *keygrip,
|
||||
|
@ -2109,7 +2109,8 @@ transfer_secret_keys (ctrl_t ctrl, struct import_stats_s *stats,
|
||||
{
|
||||
char *desc = gpg_format_keydesc (ctrl, pk, FORMAT_KEYDESC_IMPORT, 1);
|
||||
err = agent_import_key (ctrl, desc, &cache_nonce,
|
||||
wrappedkey, wrappedkeylen, batch, force);
|
||||
wrappedkey, wrappedkeylen, batch, force,
|
||||
pk->keyid, pk->main_keyid, pk->pubkey_algo);
|
||||
xfree (desc);
|
||||
}
|
||||
if (!err)
|
||||
|
Loading…
x
Reference in New Issue
Block a user