summaryrefslogtreecommitdiffstats
path: root/common/image-sig.c
diff options
context:
space:
mode:
authorHeiko Schocher <hs@denx.de>2014-03-03 12:19:27 +0100
committerTom Rini <trini@ti.com>2014-03-21 16:39:35 -0400
commitdb1b5f3d20666ffd52d649a3bd6141989b596e3f (patch)
treed252870955d71dd8aaccc705cf5e0b1a68c5c76c /common/image-sig.c
parent646257d1f4004855d486024527a4784bf57c4c4d (diff)
downloadtalos-obmc-uboot-db1b5f3d20666ffd52d649a3bd6141989b596e3f.tar.gz
talos-obmc-uboot-db1b5f3d20666ffd52d649a3bd6141989b596e3f.zip
rsa: add sha256,rsa4096 algorithm
Add support for sha256,rsa4096 signatures in u-boot. Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Simon Glass <sjg@chromium.org> Cc: andreas@oetken.name
Diffstat (limited to 'common/image-sig.c')
-rw-r--r--common/image-sig.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/common/image-sig.c b/common/image-sig.c
index 8b6f49bb38..763960a45a 100644
--- a/common/image-sig.c
+++ b/common/image-sig.c
@@ -29,6 +29,7 @@ struct checksum_algo checksum_algos[] = {
{
"sha1",
SHA1_SUM_LEN,
+ RSA2048_BYTES,
#if IMAGE_ENABLE_SIGN
EVP_sha1,
#else
@@ -39,14 +40,28 @@ struct checksum_algo checksum_algos[] = {
{
"sha256",
SHA256_SUM_LEN,
+ RSA2048_BYTES,
#if IMAGE_ENABLE_SIGN
EVP_sha256,
#else
sha256_calculate,
padding_sha256_rsa2048,
#endif
+ },
+ {
+ "sha256",
+ SHA256_SUM_LEN,
+ RSA4096_BYTES,
+#if IMAGE_ENABLE_SIGN
+ EVP_sha256,
+#else
+ sha256_calculate,
+ padding_sha256_rsa4096,
+#endif
}
+
};
+
struct image_sig_algo image_sig_algos[] = {
{
"sha1,rsa2048",
@@ -61,7 +76,15 @@ struct image_sig_algo image_sig_algos[] = {
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