summaryrefslogtreecommitdiff
path: root/host/lib/signature_digest.c
diff options
context:
space:
mode:
authorGaurav Shah <gauravsh@chromium.org>2010-08-17 15:48:22 -0700
committerGaurav Shah <gauravsh@chromium.org>2010-08-17 15:48:22 -0700
commit47b593d84920479ae5955fcc6664635328376a10 (patch)
tree93ad19fec797e04f1fed53050225a5b0f5c51f7b /host/lib/signature_digest.c
parent138acfe1ba4b567f470c67e22a8d9e2225beafb0 (diff)
downloadvboot-47b593d84920479ae5955fcc6664635328376a10.tar.gz
Add additional sanity checks to RSA verification code.
Also, make algorithm unsigned int in most places. BUG=chrome-os-partner:701 TEST=existing RSA verification tests still pass Review URL: http://codereview.chromium.org/3136017
Diffstat (limited to 'host/lib/signature_digest.c')
-rw-r--r--host/lib/signature_digest.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/host/lib/signature_digest.c b/host/lib/signature_digest.c
index eaa60690..6bf5c82e 100644
--- a/host/lib/signature_digest.c
+++ b/host/lib/signature_digest.c
@@ -16,7 +16,7 @@
#include "cryptolib.h"
#include "utility.h"
-uint8_t* PrependDigestInfo(int algorithm, uint8_t* digest) {
+uint8_t* PrependDigestInfo(unsigned int algorithm, uint8_t* digest) {
const int digest_size = hash_size_map[algorithm];
const int digestinfo_size = digestinfo_size_map[algorithm];
const uint8_t* digestinfo = hash_digestinfo_map[algorithm];
@@ -26,7 +26,8 @@ uint8_t* PrependDigestInfo(int algorithm, uint8_t* digest) {
return p;
}
-uint8_t* SignatureDigest(const uint8_t* buf, uint64_t len, int algorithm) {
+uint8_t* SignatureDigest(const uint8_t* buf, uint64_t len,
+ unsigned int algorithm) {
uint8_t* info_digest = NULL;
uint8_t* digest = NULL;
@@ -40,7 +41,7 @@ uint8_t* SignatureDigest(const uint8_t* buf, uint64_t len, int algorithm) {
}
uint8_t* SignatureBuf(const uint8_t* buf, uint64_t len, const char* key_file,
- int algorithm) {
+ unsigned int algorithm) {
FILE* key_fp = NULL;
RSA* key = NULL;
uint8_t* signature = NULL;