summaryrefslogtreecommitdiffstats
path: root/include/digest.h
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2015-03-17 12:53:10 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2015-03-19 07:46:22 +0100
commitec4f9699718054f2b4e49ed441f3420c257f5f26 (patch)
tree43721d010eba21f157bb3b4c053ae31c7a12fc2a /include/digest.h
parent92138a77544da7ad7d880082e905c1ca8cd0c527 (diff)
downloadbarebox-ec4f9699718054f2b4e49ed441f3420c257f5f26.tar.gz
barebox-ec4f9699718054f2b4e49ed441f3420c257f5f26.tar.xz
digest: add verify callback
this will allow to compare a md with the original one When calling this do not call final For RSA_SIGN verification final does not exist only verify as final will be for signing Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/digest.h')
-rw-r--r--include/digest.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/digest.h b/include/digest.h
index 1c742f615e..5d1d80c31d 100644
--- a/include/digest.h
+++ b/include/digest.h
@@ -32,6 +32,7 @@ struct digest_algo {
int (*update)(struct digest *d, const void *data, unsigned long len);
int (*final)(struct digest *d, unsigned char *md);
int (*set_key)(struct digest *d, const unsigned char *key, unsigned int len);
+ int (*verify)(struct digest *d, const unsigned char *md);
unsigned int length;
unsigned int ctx_length;
@@ -77,6 +78,11 @@ static inline int digest_final(struct digest *d, unsigned char *md)
return d->algo->final(d, md);
}
+static inline int digest_verify(struct digest *d, const unsigned char *md)
+{
+ return d->algo->verify(d, md);
+}
+
static inline int digest_length(struct digest *d)
{
return d->algo->length;