aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-08-21 10:05:24 +0000
committerWerner Koch <[email protected]>2019-08-21 12:57:27 +0000
commit0d2c9ef29c1741845df2d56f0024f87eab42efb3 (patch)
treea0b1ed14dc14e30e2ee9187ebb831d33f53b6716
parentscd:nks: Support attributes $ENCRKEYID and $SIGNKEYID. (diff)
downloadgnupg-0d2c9ef29c1741845df2d56f0024f87eab42efb3.tar.gz
gnupg-0d2c9ef29c1741845df2d56f0024f87eab42efb3.zip
scd:nks: Extend keypairinfo with usage flags.
* scd/app-nks.c (do_learn_status_core): Return usage. Signed-off-by: Werner Koch <[email protected]> (cherry picked from commit 0a9053eff0406c6799ee201013194200c0ed3487)
-rw-r--r--scd/app-nks.c11
1 files changed, 11 insertions, 0 deletions
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);
}
}