aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-08-04 14:17:01 +0000
committerWerner Koch <[email protected]>2016-08-04 14:17:01 +0000
commit6f3dc66634e30d86aa6250c4ac22f9b8f7ec1be9 (patch)
treef10502a42129cc102ed61e2932f4983d1dd0f534 /tests
parentpython: Add a nicer interface to list keys. (diff)
downloadgpgme-6f3dc66634e30d86aa6250c4ac22f9b8f7ec1be9.tar.gz
gpgme-6f3dc66634e30d86aa6250c4ac22f9b8f7ec1be9.zip
core: Extend gpgme_subkey_t to carry the keygrip.
* src/gpgme.h.in (struct _gpgme_subkey): Add file 'keygrip'. * src/key.c (gpgme_key_unref): Free KEYGRIP. * src/keylist.c (keylist_colon_handler): Parse GRP records. * src/engine-gpg.c (gpg_keylist_build_options): Do not use --with-fingerprint options for gpg versions >= 2.1.15. * tests/run-keylist.c (main): Print subkeys and keygrips. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tests')
-rw-r--r--tests/run-keylist.c41
1 files changed, 38 insertions, 3 deletions
diff --git a/tests/run-keylist.c b/tests/run-keylist.c
index 8abdf43d..fc0f0660 100644
--- a/tests/run-keylist.c
+++ b/tests/run-keylist.c
@@ -67,6 +67,7 @@ main (int argc, char **argv)
gpgme_ctx_t ctx;
gpgme_keylist_mode_t mode = 0;
gpgme_key_t key;
+ gpgme_subkey_t subkey;
gpgme_keylist_result_t result;
int import = 0;
gpgme_key_t keyarray[100];
@@ -173,22 +174,54 @@ main (int argc, char **argv)
{
gpgme_user_id_t uid;
int nuids;
-
+ int nsub;
printf ("keyid : %s\n", key->subkeys?nonnull (key->subkeys->keyid):"?");
printf ("fpr : %s\n", key->subkeys?nonnull (key->subkeys->fpr):"?");
+ if (key->subkeys && key->subkeys->keygrip)
+ printf ("grip : %s\n", key->subkeys->keygrip);
+ if (key->subkeys && key->subkeys->curve)
+ printf ("curve : %s\n", key->subkeys->curve);
printf ("caps : %s%s%s%s\n",
key->can_encrypt? "e":"",
key->can_sign? "s":"",
key->can_certify? "c":"",
key->can_authenticate? "a":"");
- printf ("flags :%s%s%s%s%s%s\n",
+ printf ("flags :%s%s%s%s%s%s%s\n",
key->secret? " secret":"",
key->revoked? " revoked":"",
key->expired? " expired":"",
key->disabled? " disabled":"",
key->invalid? " invalid":"",
- key->is_qualified? " qualifid":"");
+ key->is_qualified? " qualifid":"",
+ key->subkeys && key->subkeys->is_cardkey? " cardkey":"");
+
+ subkey = key->subkeys;
+ if (subkey)
+ subkey = subkey->next;
+ for (nsub=1; subkey; subkey = subkey->next, nsub++)
+ {
+ printf ("fpr %2d: %s\n", nsub, nonnull (subkey->fpr));
+ if (subkey->keygrip)
+ printf ("grip %2d: %s\n", nsub, subkey->keygrip);
+ if (subkey->curve)
+ printf ("curve %2d: %s\n", nsub, subkey->curve);
+ printf ("caps %2d: %s%s%s%s\n",
+ nsub,
+ subkey->can_encrypt? "e":"",
+ subkey->can_sign? "s":"",
+ subkey->can_certify? "c":"",
+ subkey->can_authenticate? "a":"");
+ printf ("flags %2d:%s%s%s%s%s%s%s\n",
+ nsub,
+ subkey->secret? " secret":"",
+ subkey->revoked? " revoked":"",
+ subkey->expired? " expired":"",
+ subkey->disabled? " disabled":"",
+ subkey->invalid? " invalid":"",
+ subkey->is_qualified? " qualifid":"",
+ subkey->is_cardkey? " cardkey":"");
+ }
for (nuids=0, uid=key->uids; uid; uid = uid->next, nuids++)
{
printf ("userid %d: %s\n", nuids, nonnull(uid->uid));
@@ -201,6 +234,8 @@ main (int argc, char **argv)
uid->validity == GPGME_VALIDITY_ULTIMATE? "ultimate": "[?]");
}
+
+
putchar ('\n');
if (import)