aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gpg-card-tool.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-02-07 19:28:43 +0000
committerWerner Koch <[email protected]>2019-02-07 19:28:43 +0000
commitb79bc877f2ad4d08e7de377cf4bf616b981b3c5f (patch)
tree752fc6b3df0b6e1d1b8dc8ff5abe11589a942dd4 /tools/gpg-card-tool.c
parentcard: Fix a NULL-ptr deref in key listings. (diff)
downloadgnupg-b79bc877f2ad4d08e7de377cf4bf616b981b3c5f.tar.gz
gnupg-b79bc877f2ad4d08e7de377cf4bf616b981b3c5f.zip
card: Print the used algorithm of all keys.
* tools/card-call-scd.c (scd_readkey): New. * tools/card-tool-misc.c (pubkey_algo_string): New. * tools/gpg-card-tool.c (list_one_kinfo): Print the algo. -- It is convenient to see the actual algorithm of keys even if no certificate has yet been created. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tools/gpg-card-tool.c')
-rw-r--r--tools/gpg-card-tool.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/gpg-card-tool.c b/tools/gpg-card-tool.c
index 0dbf2b224..71ce13f1b 100644
--- a/tools/gpg-card-tool.c
+++ b/tools/gpg-card-tool.c
@@ -620,6 +620,7 @@ list_one_kinfo (key_info_t firstkinfo, key_info_t kinfo, estream_t fp)
userid_t uid;
key_info_t ki;
const char *s;
+ gcry_sexp_t s_pkey;
if (firstkinfo && kinfo)
{
@@ -630,6 +631,14 @@ list_one_kinfo (key_info_t firstkinfo, key_info_t kinfo, estream_t fp)
goto leave;
}
print_keygrip (fp, kinfo->grip);
+ if (!scd_readkey (kinfo->keyref, &s_pkey))
+ {
+ char *tmp = pubkey_algo_string (s_pkey);
+ tty_fprintf (fp, " algorithm ..: %s\n", tmp);
+ xfree (tmp);
+ gcry_sexp_release (s_pkey);
+ s_pkey = NULL;
+ }
if (kinfo->fprlen && kinfo->created)
{