X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=decodekey.h;h=242e8e4a341a1f5fbafa5358b1546ca2dea2a521;hb=ea9ac7c3b327dc0c69f7c770d26c3372065aa5f1;hp=f7df5eff7086abc07def2f756a8967f6322aebf8;hpb=5913c95f2c7abf4c3cb06e27d384d80fb4c83547;p=onak.git diff --git a/decodekey.h b/decodekey.h index f7df5ef..242e8e4 100644 --- a/decodekey.h +++ b/decodekey.h @@ -9,6 +9,8 @@ #ifndef __DECODEKEY_H__ #define __DECODEKEY_H__ +#include +#include #include "keystructs.h" #include "ll.h" @@ -23,6 +25,18 @@ struct ll *keysigs(struct ll *curll, struct openpgp_packet_list *sigs); +/** + * sig_info - Get info on a given OpenPGP signature packet + * @packet: The signature packet + * @keyid: A pointer for where to return the signature keyid + * @creation: A pointer for where to return the signature creation time + * + * Gets any info about a signature packet; parses the subpackets for a v4 + * key or pulls the data directly from v2/3. NULL can be passed for any + * values which aren't cared about. + */ +void sig_info(struct openpgp_packet *packet, uint64_t *keyid, time_t *creation); + /** * sig_keyid - Return the keyid for a given OpenPGP signature packet. * @packet: The signature packet. @@ -42,4 +56,13 @@ uint64_t sig_keyid(struct openpgp_packet *packet); */ char **keyuids(struct openpgp_publickey *key, char **primary); +/** + * keysubkeys - Takes a key and returns an array of its subkey keyids. + * @key: The key to get the subkeys of. + * + * keysubkeys takes a public key structure and returns an array of the + * subkey keyids for that key. + */ +uint64_t *keysubkeys(struct openpgp_publickey *key); + #endif