X-Git-Url: http://the.earth.li/gitweb/?a=blobdiff_plain;f=keystructs.h;h=18a9ba4ce12ca29017bafab63e256ed5d3ecc8a4;hb=de18b56efecadc4b5d2473904828db9c08cd2162;hp=13f9160ed46f9c3afee272eb1a5862b28d7a1b16;hpb=c04c1c60469823c01268187ec49102d1ff540806;p=onak.git diff --git a/keystructs.h b/keystructs.h index 13f9160..18a9ba4 100644 --- a/keystructs.h +++ b/keystructs.h @@ -14,8 +14,7 @@ * more details. * * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * this program. If not, see . */ #ifndef __KEYSTRUCTS_H__ @@ -27,8 +26,27 @@ #include "ll.h" -/* v3 MD5 fingerprint is 16 characters, v4 SHA-1 fingerprint is 20 */ -#define MAX_FINGERPRINT_LEN 20 +/* + * Fingerprint lengths + * + * v3 MD5 fingerprint is 16 bytes + * v4 SHA-1 fingerprint is 20 + * v5 SHA2-256 fingerprint is 32 + */ +#define FINGERPRINT_V3_LEN 16 +#define FINGERPRINT_V4_LEN 20 +#define FINGERPRINT_V5_LEN 32 +#define MAX_FINGERPRINT_LEN 32 + +/** + * @brief Stores the fingerprint of an OpenPGP key + */ +struct openpgp_fingerprint { + /** Length of fingerprint. 16 bytes for v3, 20 for v4 */ + size_t length; + /** Fingerprint data. Only the first length bytes are valid */ + uint8_t fp[MAX_FINGERPRINT_LEN]; +}; /** * @brief Stores an OpenPGP packet.