diff options
Diffstat (limited to 'verifier.h')
-rw-r--r-- | verifier.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/verifier.h b/verifier.h index 1bdfca6dd..023d3bf89 100644 --- a/verifier.h +++ b/verifier.h @@ -17,12 +17,32 @@ #ifndef _RECOVERY_VERIFIER_H #define _RECOVERY_VERIFIER_H +#include "mincrypt/p256.h" #include "mincrypt/rsa.h" +typedef struct { + p256_int x; + p256_int y; +} ECPublicKey; + +typedef struct { + typedef enum { + RSA, + EC, + } KeyType; + + int hash_len; // SHA_DIGEST_SIZE (SHA-1) or SHA256_DIGEST_SIZE (SHA-256) + KeyType key_type; + RSAPublicKey* rsa; + ECPublicKey* ec; +} Certificate; + /* Look in the file for a signature footer, and verify that it * matches one of the given keys. Return one of the constants below. */ -int verify_file(const char* path, const RSAPublicKey *pKeys, unsigned int numKeys); +int verify_file(const char* path, const Certificate *pKeys, unsigned int numKeys); + +Certificate* load_keys(const char* filename, int* numKeys); #define VERIFY_SUCCESS 0 #define VERIFY_FAILURE 1 |