From 0d2c9ef29c1741845df2d56f0024f87eab42efb3 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 21 Aug 2019 12:05:24 +0200 Subject: [PATCH] scd:nks: Extend keypairinfo with usage flags. * scd/app-nks.c (do_learn_status_core): Return usage. Signed-off-by: Werner Koch (cherry picked from commit 0a9053eff0406c6799ee201013194200c0ed3487) --- scd/app-nks.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scd/app-nks.c b/scd/app-nks.c index 8b6d768d4..898a838c3 100644 --- a/scd/app-nks.c +++ b/scd/app-nks.c @@ -402,6 +402,7 @@ do_learn_status_core (app_t app, ctrl_t ctrl, unsigned int flags, int is_sigg) char ct_buf[100], id_buf[100]; int i; const char *tag; + const char *usage; if (is_sigg) tag = "SIGG"; @@ -451,9 +452,19 @@ do_learn_status_core (app_t app, ctrl_t ctrl, unsigned int flags, int is_sigg) { snprintf (id_buf, sizeof id_buf, "NKS-%s.%04X", tag, filelist[i].fid); + if (filelist[i].issignkey && filelist[i].isenckey) + usage = "sae"; + else if (filelist[i].issignkey) + usage = "sa"; + else if (filelist[i].isenckey) + usage = "e"; + else + usage = ""; + send_status_info (ctrl, "KEYPAIRINFO", gripstr, 40, id_buf, strlen (id_buf), + usage, strlen (usage), NULL, (size_t)0); } }