aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root2013-10-09 12:14:35 -0500
committerKenny Root2013-10-10 16:19:19 -0500
commit7a4adb5268ae71260c86788ccdeb7a699c80ee0a (patch)
treeda4a744e642f5014c3a1085097590bd4a5997f1c /verifier.h
parent58c60900ac3682fab08f64373bdd1020713b48f7 (diff)
downloadplatform-bootable-recovery-7a4adb5268ae71260c86788ccdeb7a699c80ee0a.tar.gz
platform-bootable-recovery-7a4adb5268ae71260c86788ccdeb7a699c80ee0a.tar.xz
platform-bootable-recovery-7a4adb5268ae71260c86788ccdeb7a699c80ee0a.zip
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.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/verifier.h b/verifier.h
index 6ce1b44d..023d3bf8 100644
--- a/verifier.h
+++ b/verifier.h
@@ -17,11 +17,24 @@
17#ifndef _RECOVERY_VERIFIER_H 17#ifndef _RECOVERY_VERIFIER_H
18#define _RECOVERY_VERIFIER_H 18#define _RECOVERY_VERIFIER_H
19 19
20#include "mincrypt/p256.h"
20#include "mincrypt/rsa.h" 21#include "mincrypt/rsa.h"
21 22
22typedef struct Certificate { 23typedef struct {
24 p256_int x;
25 p256_int y;
26} ECPublicKey;
27
28typedef struct {
29 typedef enum {
30 RSA,
31 EC,
32 } KeyType;
33
23 int hash_len; // SHA_DIGEST_SIZE (SHA-1) or SHA256_DIGEST_SIZE (SHA-256) 34 int hash_len; // SHA_DIGEST_SIZE (SHA-1) or SHA256_DIGEST_SIZE (SHA-256)
24 RSAPublicKey* public_key; 35 KeyType key_type;
36 RSAPublicKey* rsa;
37 ECPublicKey* ec;
25} Certificate; 38} Certificate;
26 39
27/* Look in the file for a signature footer, and verify that it 40/* Look in the file for a signature footer, and verify that it