aboutsummaryrefslogtreecommitdiffstats
path: root/g10/keyid.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/keyid.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/g10/keyid.c b/g10/keyid.c
index 581d95fc1..aa9ec0b5a 100644
--- a/g10/keyid.c
+++ b/g10/keyid.c
@@ -212,6 +212,30 @@ keystr_from_sk(PKT_secret_key *sk)
return keystr(sk->keyid);
}
+const char *
+keystr_from_desc(KEYDB_SEARCH_DESC *desc)
+{
+ if(desc->mode==KEYDB_SEARCH_MODE_LONG_KID)
+ return keystr(desc->u.kid);
+ else if(desc->mode==KEYDB_SEARCH_MODE_FPR20)
+ {
+ u32 keyid[2];
+
+ keyid[0] = (unsigned char)desc->u.fpr[12] << 24
+ | (unsigned char)desc->u.fpr[13] << 16
+ | (unsigned char)desc->u.fpr[14] << 8
+ | (unsigned char)desc->u.fpr[15] ;
+ keyid[1] = (unsigned char)desc->u.fpr[16] << 24
+ | (unsigned char)desc->u.fpr[17] << 16
+ | (unsigned char)desc->u.fpr[18] << 8
+ | (unsigned char)desc->u.fpr[19] ;
+
+ return keystr(keyid);
+ }
+ else
+ BUG();
+}
+
/****************
* Get the keyid from the secret key and put it into keyid
* if this is not NULL. Return the 32 low bits of the keyid.