diff options
Diffstat (limited to 'scd/app-openpgp.c')
-rw-r--r-- | scd/app-openpgp.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c index 987a31be3..fcae4d713 100644 --- a/scd/app-openpgp.c +++ b/scd/app-openpgp.c @@ -2483,10 +2483,15 @@ chvno_to_keyref (int chvno) static void cache_pin (app_t app, ctrl_t ctrl, int chvno, const char *pin) { - const char *keyref = chvno_to_keyref (chvno); + const char *keyref; + if (opt.pcsc_shared) + return; + + keyref = chvno_to_keyref (chvno); if (!keyref) return; + switch (APP_CARD(app)->cardtype) { case CARDTYPE_YUBIKEY: break; @@ -2707,7 +2712,7 @@ verify_chv2 (app_t app, ctrl_t ctrl, return rc; app->did_chv2 = 1; - if (!app->did_chv1 && !app->force_chv1 && pinvalue) + if (!app->did_chv1 && !app->force_chv1 && pinvalue && !opt.pcsc_shared) { /* For convenience we verify CHV1 here too. We do this only if the card is not configured to require a verification before |