mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-10 21:38:50 +01:00
gpg: Fix creating on-disk subkey with on-card primary key.
* g10/keygen.c (generate_subkeypair): Ignore error code issued for trying to verify a card based key. -- We try to verify the primary key and thus seed the passphrase cache before generating the subkey. However, the verification does not yet work for on-card keys and thus the PASSWD --verify send to the agent returns an error. This patch detects this error and continues without a seeded passphrase cache. After all that pre-seeding is just a convenience. GnuPG-bug-id: 3280 Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
2c7dccca9b
commit
44fb3fbc85
@ -5051,6 +5051,9 @@ generate_subkeypair (ctrl_t ctrl, kbnode_t keyblock, const char *algostr,
|
|||||||
err = agent_passwd (ctrl, hexgrip, desc, 1 /*=verify*/,
|
err = agent_passwd (ctrl, hexgrip, desc, 1 /*=verify*/,
|
||||||
&cache_nonce, &passwd_nonce);
|
&cache_nonce, &passwd_nonce);
|
||||||
xfree (desc);
|
xfree (desc);
|
||||||
|
if (gpg_err_code (err) == GPG_ERR_NOT_IMPLEMENTED
|
||||||
|
&& gpg_err_source (err) == GPG_ERR_SOURCE_GPGAGENT)
|
||||||
|
err = 0; /* Very likely that the key is on a card. */
|
||||||
if (err)
|
if (err)
|
||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user