summaryrefslogtreecommitdiffstats
path: root/common/image-sig.c
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-04-17 14:33:25 -0400
committerTom Rini <trini@ti.com>2014-04-17 14:33:25 -0400
commit0f507779ca00d90cdd4bcc8252630370339b7ea6 (patch)
treea91a89ac67dcbd42c8a4357501d155a129fa1e5a /common/image-sig.c
parent0f605c1501f6e82553e9affc6e17876a85db408c (diff)
parentece0d370144fdecb6f3ed5738ffe96f5b12f9e96 (diff)
downloadblackbird-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.c63
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)
OpenPOWER on IntegriCloud