aboutsummaryrefslogtreecommitdiffstats
path: root/g10/call-agent.h
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-04-18 15:04:58 +0000
committerWerner Koch <[email protected]>2023-04-18 15:07:04 +0000
commitfa4f716917e545a98e7c22469c51e980aa79443d (patch)
tree4ad5a09389d1e3b35bf04ab1a83a996fe0a6ad6f /g10/call-agent.h
parentscd: On a Yubikey re-select the last app after the use of APDU. (diff)
downloadgnupg-fa4f716917e545a98e7c22469c51e980aa79443d.tar.gz
gnupg-fa4f716917e545a98e7c22469c51e980aa79443d.zip
gpg: Make sure that we are not accidently working with the PIV app.
* g10/call-agent.c (agent_scd_switchapp): New. * g10/card-util.c (get_info_for_key_operation): Call it. -- It may happen that the active card was last used for PIV and in that case certain commands will fail because they assume the OpenPGP app. Fortunately we have a pretty central place to assure that the right app has been selected. The bug can be easily noticed on Windows. GnuPG-bug-id: 6378
Diffstat (limited to 'g10/call-agent.h')
-rw-r--r--g10/call-agent.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/g10/call-agent.h b/g10/call-agent.h
index a3f234ade..80595cacc 100644
--- a/g10/call-agent.h
+++ b/g10/call-agent.h
@@ -108,6 +108,9 @@ gpg_error_t agent_scd_keypairinfo (ctrl_t ctrl, const char *keyref,
/* Return list of cards. */
int agent_scd_cardlist (strlist_t *result);
+/* Switch/assure a certain application. */
+gpg_error_t agent_scd_switchapp (const char *appname);
+
/* Free a keypair info list. */
void free_keypair_info (keypair_info_t l);