diff options
author | Kenny Root <kroot@google.com> | 2013-10-09 10:14:35 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2013-10-10 14:19:19 -0700 |
commit | 7a4adb5268ae71260c86788ccdeb7a699c80ee0a (patch) | |
tree | da4a744e642f5014c3a1085097590bd4a5997f1c /verifier.h | |
parent | 58c60900ac3682fab08f64373bdd1020713b48f7 (diff) | |
download | bootable_recovery-7a4adb5268ae71260c86788ccdeb7a699c80ee0a.zip bootable_recovery-7a4adb5268ae71260c86788ccdeb7a699c80ee0a.tar.gz bootable_recovery-7a4adb5268ae71260c86788ccdeb7a699c80ee0a.tar.bz2 |
Add support for ECDSA signatures
This adds support for key version 5 which is an EC key using the NIST
P-256 curve parameters. OTAs may be signed with these keys using the
ECDSA signature algorithm with SHA-256.
Change-Id: Id88672a3deb70681c78d5ea0d739e10f839e4567
Diffstat (limited to 'verifier.h')
-rw-r--r-- | verifier.h | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -17,11 +17,24 @@ #ifndef _RECOVERY_VERIFIER_H #define _RECOVERY_VERIFIER_H +#include "mincrypt/p256.h" #include "mincrypt/rsa.h" -typedef struct Certificate { +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) - RSAPublicKey* public_key; + KeyType key_type; + RSAPublicKey* rsa; + ECPublicKey* ec; } Certificate; /* Look in the file for a signature footer, and verify that it |