diff --git a/g10/card-util.c b/g10/card-util.c index bfaac3bd7..8de061aa4 100644 --- a/g10/card-util.c +++ b/g10/card-util.c @@ -512,6 +512,10 @@ current_card_status (ctrl_t ctrl, estream_t fp, es_fprintf (fp, "pinretry:%d:%d:%d:\n", info.chvretry[0], info.chvretry[1], info.chvretry[2]); es_fprintf (fp, "sigcount:%lu:::\n", info.sig_counter); + if (info.extcap.kdf) + { + es_fprintf (fp, "kdf:%s:\n", info.kdf_do_enabled ? "on" : "off"); + } for (i=0; i < 4; i++) { diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c index 789b72f00..9948c0bd9 100644 --- a/scd/app-openpgp.c +++ b/scd/app-openpgp.c @@ -1833,9 +1833,14 @@ do_learn_status (app_t app, ctrl_t ctrl, unsigned int flags) do_getattr (app, ctrl, "CA-FPR"); do_getattr (app, ctrl, "CHV-STATUS"); do_getattr (app, ctrl, "SIG-COUNTER"); - do_getattr (app, ctrl, "UIF-1"); - do_getattr (app, ctrl, "UIF-2"); - do_getattr (app, ctrl, "UIF-3"); + if (app->app_local->extcap.kdf_do) + do_getattr (app, ctrl, "KDF"); + if (app->app_local->extcap.has_button) + { + do_getattr (app, ctrl, "UIF-1"); + do_getattr (app, ctrl, "UIF-2"); + do_getattr (app, ctrl, "UIF-3"); + } if (app->app_local->extcap.private_dos) { do_getattr (app, ctrl, "PRIVATE-DO-1");