Add support for calculating SKS style key hashes
[onak.git] / keystructs.h
index 6c36bbec6e771ad04df2bd3ca73ee192fe2b7709..c77e346e419e6ce139b54fa5993ad936ac15aecb 100644 (file)
@@ -65,15 +65,17 @@ struct openpgp_signedpacket_list {
 /**
  *     struct openpgp_publickey - An OpenPGP public key complete with sigs.
  *     @publickey: The OpenPGP packet for the public key.
- *     @revocation: The OpenPGP packet for the revocation [optional]
+ *     @revoked: True if the key is revoked.
+ *     @sigs: Any signatures directly on the publickey packet.
  *     @uids: The list of UIDs with signatures for this key.
  *     @subkeys: The list of subkeys with signatures for this key.
  *     @next: The next public key.
  */
 struct openpgp_publickey {
        struct openpgp_packet                   *publickey;
-       struct openpgp_packet_list              *revocations;
-       struct openpgp_packet_list              *last_revocation;
+       bool                                     revoked;
+       struct openpgp_packet_list              *sigs;
+       struct openpgp_packet_list              *last_sig;
        struct openpgp_signedpacket_list        *uids;
        struct openpgp_signedpacket_list        *last_uid;
        struct openpgp_signedpacket_list        *subkeys;
@@ -102,4 +104,12 @@ struct stats_key {
        bool revoked;
 };
 
+/**
+ *     struct skshash - holds an SKS key hash (md5 over sorted packet list)
+ *     @hash: The 128 bit MD5 hash of the sorted packet list from the key
+ */
+struct skshash {
+       uint8_t hash[16];
+};
+
 #endif /* __KEYSTRUCTS_H__ */