summaryrefslogtreecommitdiff
path: root/include
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 /include
parent646257d1f4004855d486024527a4784bf57c4c4d (diff)
downloadu-boot-imx-db1b5f3d20666ffd52d649a3bd6141989b596e3f.zip
u-boot-imx-db1b5f3d20666ffd52d649a3bd6141989b596e3f.tar.gz
u-boot-imx-db1b5f3d20666ffd52d649a3bd6141989b596e3f.tar.bz2
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 'include')
-rw-r--r--include/image.h1
-rw-r--r--include/rsa-checksum.h1
-rw-r--r--include/rsa.h10
3 files changed, 12 insertions, 0 deletions
diff --git a/include/image.h b/include/image.h
index 44b2b46..540afaa 100644
--- a/include/image.h
+++ b/include/image.h
@@ -879,6 +879,7 @@ struct image_region {
struct checksum_algo {
const char *name;
const int checksum_len;
+ const int pad_len;
#if IMAGE_ENABLE_SIGN
const EVP_MD *(*calculate)(void);
#else
diff --git a/include/rsa-checksum.h b/include/rsa-checksum.h
index 850b253..612db85 100644
--- a/include/rsa-checksum.h
+++ b/include/rsa-checksum.h
@@ -12,6 +12,7 @@
#include <sha1.h>
#include <sha256.h>
+extern const uint8_t padding_sha256_rsa4096[];
extern const uint8_t padding_sha256_rsa2048[];
extern const uint8_t padding_sha1_rsa2048[];
diff --git a/include/rsa.h b/include/rsa.h
index e9ae870..a5680ab 100644
--- a/include/rsa.h
+++ b/include/rsa.h
@@ -103,4 +103,14 @@ static inline int rsa_verify(struct image_sign_info *info,
}
#endif
+#define RSA2048_BYTES (2048 / 8)
+#define RSA4096_BYTES (4096 / 8)
+
+/* This is the minimum/maximum key size we support, in bits */
+#define RSA_MIN_KEY_BITS 2048
+#define RSA_MAX_KEY_BITS 4096
+
+/* This is the maximum signature length that we support, in bits */
+#define RSA_MAX_SIG_BITS 4096
+
#endif