summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2013-06-13 15:10:00 -0700
committerTom Rini <trini@ti.com>2013-06-26 10:18:56 -0400
commit3e569a6b1eb7ef0c8144f8c243f9e33c834bf003 (patch)
tree3f94a89462a0f0b25d53ebbaf6328af44fa49c53 /common
parentb5f319373400d3c7e6820e793a7bb370ad0c8a76 (diff)
downloadtalos-obmc-uboot-3e569a6b1eb7ef0c8144f8c243f9e33c834bf003.tar.gz
talos-obmc-uboot-3e569a6b1eb7ef0c8144f8c243f9e33c834bf003.zip
image: Add signing infrastructure
Add a structure to describe an algorithm which can sign and (later) verify images. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common')
-rw-r--r--common/Makefile1
-rw-r--r--common/image-sig.c42
2 files changed, 43 insertions, 0 deletions
diff --git a/common/Makefile b/common/Makefile
index 6aa41a4dac..48791b7ffc 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -243,6 +243,7 @@ COBJS-y += dlmalloc.o
COBJS-y += image.o
COBJS-$(CONFIG_OF_LIBFDT) += image-fdt.o
COBJS-$(CONFIG_FIT) += image-fit.o
+COBJS-$(CONFIG_FIT_SIGNATURE) += image-sig.o
COBJS-y += memsize.o
COBJS-y += stdio.o
diff --git a/common/image-sig.c b/common/image-sig.c
new file mode 100644
index 0000000000..841c662cbf
--- /dev/null
+++ b/common/image-sig.c
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2013, Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifdef USE_HOSTCC
+#include "mkimage.h"
+#include <time.h>
+#else
+#include <common.h>
+#endif /* !USE_HOSTCC*/
+#include <errno.h>
+#include <image.h>
+
+struct image_sig_algo image_sig_algos[] = {
+};
+
+struct image_sig_algo *image_get_sig_algo(const char *name)
+{
+ int i;
+
+ for (i = 0; i < ARRAY_SIZE(image_sig_algos); i++) {
+ if (!strcmp(image_sig_algos[i].name, name))
+ return &image_sig_algos[i];
+ }
+
+ return NULL;
+}
OpenPOWER on IntegriCloud