mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-17 12:46:59 +02:00
tools/fit_check_sign: make key optional
Allow invoking fit_check_sig without the key parameter, allowing to validate only checksums and hashes for unsigned images. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
40dcd5088b
commit
9c79c8fe70
@ -63,8 +63,7 @@ HOSTCFLAGS_img2srec.o := -pedantic
|
|||||||
hostprogs-y += mkenvimage
|
hostprogs-y += mkenvimage
|
||||||
mkenvimage-objs := mkenvimage.o os_support.o generated/lib/crc32.o
|
mkenvimage-objs := mkenvimage.o os_support.o generated/lib/crc32.o
|
||||||
|
|
||||||
hostprogs-y += dumpimage mkimage
|
hostprogs-y += dumpimage mkimage fit_info fit_check_sign
|
||||||
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fit_info fit_check_sign
|
|
||||||
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fdt_add_pubkey
|
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += fdt_add_pubkey
|
||||||
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += preload_check_sign
|
hostprogs-$(CONFIG_TOOLS_LIBCRYPTO) += preload_check_sign
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ int main(int argc, char **argv)
|
|||||||
char *config_name = NULL;
|
char *config_name = NULL;
|
||||||
char cmdname[256];
|
char cmdname[256];
|
||||||
int ret;
|
int ret;
|
||||||
void *key_blob;
|
void *key_blob = NULL;
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
strncpy(cmdname, *argv, sizeof(cmdname) - 1);
|
strncpy(cmdname, *argv, sizeof(cmdname) - 1);
|
||||||
@ -70,18 +70,15 @@ int main(int argc, char **argv)
|
|||||||
fprintf(stderr, "%s: Missing fdt file\n", *argv);
|
fprintf(stderr, "%s: Missing fdt file\n", *argv);
|
||||||
usage(*argv);
|
usage(*argv);
|
||||||
}
|
}
|
||||||
if (!keyfile) {
|
|
||||||
fprintf(stderr, "%s: Missing key file\n", *argv);
|
|
||||||
usage(*argv);
|
|
||||||
}
|
|
||||||
|
|
||||||
ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false, true);
|
ffd = mmap_fdt(cmdname, fdtfile, 0, &fit_blob, &fsbuf, false, true);
|
||||||
if (ffd < 0)
|
if (ffd < 0)
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false, true);
|
if (keyfile) {
|
||||||
if (kfd < 0)
|
kfd = mmap_fdt(cmdname, keyfile, 0, &key_blob, &ksbuf, false, true);
|
||||||
return EXIT_FAILURE;
|
if (kfd < 0)
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
image_set_host_blob(key_blob);
|
image_set_host_blob(key_blob);
|
||||||
ret = fit_check_sign(fit_blob, key_blob, config_name);
|
ret = fit_check_sign(fit_blob, key_blob, config_name);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
@ -93,7 +90,9 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
(void) munmap((void *)fit_blob, fsbuf.st_size);
|
(void) munmap((void *)fit_blob, fsbuf.st_size);
|
||||||
(void) munmap((void *)key_blob, ksbuf.st_size);
|
|
||||||
|
if (key_blob)
|
||||||
|
(void)munmap((void *)key_blob, ksbuf.st_size);
|
||||||
|
|
||||||
close(ffd);
|
close(ffd);
|
||||||
close(kfd);
|
close(kfd);
|
||||||
|
Loading…
Reference in New Issue
Block a user