diff options
author | Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> | 2015-03-17 12:53:10 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-03-19 07:46:22 +0100 |
commit | ec4f9699718054f2b4e49ed441f3420c257f5f26 (patch) | |
tree | 43721d010eba21f157bb3b4c053ae31c7a12fc2a /include/digest.h | |
parent | 92138a77544da7ad7d880082e905c1ca8cd0c527 (diff) | |
download | barebox-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.h | 6 |
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; |