diff options
Diffstat (limited to '')
-rw-r--r-- | g10/keyid.c | 24 |
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. |