diff options
author | Werner Koch <[email protected]> | 2023-04-18 15:04:58 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2023-04-18 15:07:04 +0000 |
commit | fa4f716917e545a98e7c22469c51e980aa79443d (patch) | |
tree | 4ad5a09389d1e3b35bf04ab1a83a996fe0a6ad6f /g10/call-agent.h | |
parent | scd: On a Yubikey re-select the last app after the use of APDU. (diff) | |
download | gnupg-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.h | 3 |
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); |