aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/card-util.c4
-rw-r--r--scd/app-openpgp.c11
2 files changed, 12 insertions, 3 deletions
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");