[Pkg-gnupg-commit] [gnupg2] 14/49: gpg: Fix creating on-disk subkey with on-card primary key.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Wed Nov 8 19:30:52 UTC 2017
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gnupg2.
commit 44fb3fbc85b32552c91f32f099b6b246c12ce0cc
Author: Werner Koch <wk at gnupg.org>
Date: Thu Oct 19 18:10:37 2017 +0200
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 at gnupg.org>
---
g10/keygen.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/g10/keygen.c b/g10/keygen.c
index 2b17a1e..8f30b7e 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -5051,6 +5051,9 @@ generate_subkeypair (ctrl_t ctrl, kbnode_t keyblock, const char *algostr,
err = agent_passwd (ctrl, hexgrip, desc, 1 /*=verify*/,
&cache_nonce, &passwd_nonce);
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)
goto leave;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git
More information about the Pkg-gnupg-commit
mailing list