diff options
author | Tom Rini <trini@ti.com> | 2014-04-17 14:33:25 -0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-04-17 14:33:25 -0400 |
commit | 0f507779ca00d90cdd4bcc8252630370339b7ea6 (patch) | |
tree | a91a89ac67dcbd42c8a4357501d155a129fa1e5a /common/image-sig.c | |
parent | 0f605c1501f6e82553e9affc6e17876a85db408c (diff) | |
parent | ece0d370144fdecb6f3ed5738ffe96f5b12f9e96 (diff) | |
download | blackbird-obmc-uboot-0f507779ca00d90cdd4bcc8252630370339b7ea6.tar.gz blackbird-obmc-uboot-0f507779ca00d90cdd4bcc8252630370339b7ea6.zip |
Merge branch 'next'
Diffstat (limited to 'common/image-sig.c')
-rw-r--r-- | common/image-sig.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/common/image-sig.c b/common/image-sig.c index 973b06d505..72284eb1d1 100644 --- a/common/image-sig.c +++ b/common/image-sig.c @@ -14,16 +14,79 @@ DECLARE_GLOBAL_DATA_PTR; #endif /* !USE_HOSTCC*/ #include <image.h> #include <rsa.h> +#include <rsa-checksum.h> #define IMAGE_MAX_HASHED_NODES 100 +#ifdef USE_HOSTCC +void *host_blob; +void image_set_host_blob(void *blob) +{ + host_blob = blob; +} +void *image_get_host_blob(void) +{ + return host_blob; +} +#endif + +struct checksum_algo checksum_algos[] = { + { + "sha1", + SHA1_SUM_LEN, + RSA2048_BYTES, +#if IMAGE_ENABLE_SIGN + EVP_sha1, +#endif + sha1_calculate, + padding_sha1_rsa2048, + }, + { + "sha256", + SHA256_SUM_LEN, + RSA2048_BYTES, +#if IMAGE_ENABLE_SIGN + EVP_sha256, +#endif + sha256_calculate, + padding_sha256_rsa2048, + }, + { + "sha256", + SHA256_SUM_LEN, + RSA4096_BYTES, +#if IMAGE_ENABLE_SIGN + EVP_sha256, +#endif + sha256_calculate, + padding_sha256_rsa4096, + } + +}; + struct image_sig_algo image_sig_algos[] = { { "sha1,rsa2048", rsa_sign, rsa_add_verify_data, rsa_verify, + &checksum_algos[0], + }, + { + "sha256,rsa2048", + rsa_sign, + rsa_add_verify_data, + rsa_verify, + &checksum_algos[1], + }, + { + "sha256,rsa4096", + rsa_sign, + rsa_add_verify_data, + rsa_verify, + &checksum_algos[2], } + }; struct image_sig_algo *image_get_sig_algo(const char *name) |