diff options
author | Werner Koch <[email protected]> | 2016-08-04 14:17:01 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-08-04 14:17:01 +0000 |
commit | 6f3dc66634e30d86aa6250c4ac22f9b8f7ec1be9 (patch) | |
tree | f10502a42129cc102ed61e2932f4983d1dd0f534 /tests | |
parent | python: Add a nicer interface to list keys. (diff) | |
download | gpgme-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.c | 41 |
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) |