cscvs to tla changeset 83
[onak.git] / keyid.h
1 /*
2  * keyid.h - Routines to calculate key IDs.
3  *
4  * Jonathan McDowell <noodles@earth.li>
5  *
6  * Copyright 2002 Project Purple
7  *
8  * $Id: keyid.h,v 1.5 2003/06/07 13:45:34 noodles Exp $
9  */
10
11 #ifndef __KEYID_H__
12 #define __KEYID_H__
13
14 #include <inttypes.h>
15
16 #include "keystructs.h"
17
18 /**
19  *      get_keyid - Given a public key returns the keyid.
20  *      @publickey: The key to calculate the id for.
21  *
22  *      This function returns the key id for a given public key.
23  */
24 uint64_t get_keyid(struct openpgp_publickey *publickey);
25
26 /**
27  *      get_fingerprint - Given a public key returns the fingerprint.
28  *      @publickey: The key to calculate the id for.
29  *      @fingerprint: The fingerprint (must be at least 20 bytes of space). 
30  *      @len: The length of the returned fingerprint.
31  *
32  *      This function returns the fingerprint for a given public key. As Type 3
33  *      fingerprints are 16 bytes and Type 4 are 20 the len field indicates
34  *      which we've returned.
35  */
36 unsigned char *get_fingerprint(struct openpgp_packet *packet,
37         unsigned char *fingerprint,
38         size_t *len);
39
40 /**
41  *      get_packetid - Given a PGP packet returns the keyid.
42  *      @packet: The packet to calculate the id for.
43  *
44  *      This function returns the key id for a given PGP packet.
45  */
46 uint64_t get_packetid(struct openpgp_packet *packet);
47
48 #endif /* __KEYID_H__ */