From 1ad84aabb410e56bea074b82a06fe32b2897b660 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 13 Feb 2020 11:51:54 +0100 Subject: scd:openpgp: Return key creation time as part of KEYPARIINFO. * scd/app-openpgp.c (send_keypair_info): Reaturn the key creation time as part of a KEYPAIRINFO. (do_readkey): Do not return the KEY-TIME anymore. -- Sending the KEY_TIME status as part of a READKEY command was only recently added. It is better to merge that into the KEYPAIRINFO line. Another patch with chnage this for the consumers of that info. Signed-off-by: Werner Koch --- scd/app-openpgp.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'scd/app-openpgp.c') diff --git a/scd/app-openpgp.c b/scd/app-openpgp.c index 283202366..c13830541 100644 --- a/scd/app-openpgp.c +++ b/scd/app-openpgp.c @@ -1881,8 +1881,8 @@ send_keypair_info (app_t app, ctrl_t ctrl, int key) { int keyno = key - 1; gpg_error_t err = 0; - char idbuf[50]; const char *usage; + u32 fprtime; err = get_public_key (app, keyno); if (err) @@ -1897,15 +1897,15 @@ send_keypair_info (app_t app, ctrl_t ctrl, int key) case 0: usage = "sc"; break; case 1: usage = "e"; break; case 2: usage = "sa"; break; - default: usage = ""; break; + default: usage = "-"; break; } - sprintf (idbuf, "OPENPGP.%d", keyno+1); - send_status_info (ctrl, "KEYPAIRINFO", - app->app_local->pk[keyno].keygrip_str, 40, - idbuf, strlen (idbuf), - usage, strlen (usage), - NULL, (size_t)0); + if (retrieve_fprtime_from_card (app, keyno, &fprtime)) + fprtime = 0; + + err = send_status_printf (ctrl, "KEYPAIRINFO", "%s OPENPGP.%d %s %lu", + app->app_local->pk[keyno].keygrip_str, + keyno+1, usage, (unsigned long)fprtime); leave: return err; @@ -1968,7 +1968,6 @@ do_readkey (app_t app, ctrl_t ctrl, const char *keyid, unsigned int flags, gpg_error_t err; int keyno; unsigned char *buf; - u32 fprtime; if (strlen (keyid) == 40) { @@ -2006,13 +2005,6 @@ do_readkey (app_t app, ctrl_t ctrl, const char *keyid, unsigned int flags, err = send_keypair_info (app, ctrl, keyno+1); if (err) return err; - if (!retrieve_fprtime_from_card (app, keyno, &fprtime)) - { - err = send_status_printf (ctrl, "KEY-TIME", "OPENPGP.%d %lu", - keyno+1, (unsigned long)fprtime); - if (err) - return err; - } } if (pk && pklen) -- cgit v1.2.3