u-boot-brain/lib
AKASHI Takahiro 11bafb2596 efi_loader: image_loader: verification for all signatures should pass
A signed image may have multiple signatures in
  - each WIN_CERTIFICATE in authenticode, and/or
  - each SignerInfo in pkcs7 SignedData (of WIN_CERTIFICATE)

In the initial implementation of efi_image_authenticate(), the criteria
of verification check for multiple signatures case is a bit ambiguous
and it may cause inconsistent result.

With this patch, we will make sure that verification check in
efi_image_authenticate() should pass against all the signatures.
The only exception would be
  - the case where a digest algorithm used in signature is not supported by
    U-Boot, or
  - the case where parsing some portion of authenticode has failed
In those cases, we don't know how the signature be handled and should
just ignore them.

Please note that, due to this change, efi_signature_verify_with_sigdb()'s
function prototype will be modified, taking "dbx" as well as "db"
instead of outputing a "certificate." If "dbx" is null, the behavior would
be the exact same as before.
The function's name will be changed to efi_signature_verify() once
current efi_signature_verify() has gone due to further improvement
in intermediate certificates support.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
2020-07-11 23:14:15 +02:00
..
acpi common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
aes u-boot: fit: add support to decrypt fit with aes 2020-01-17 10:16:29 -05:00
at91 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
bzip2 common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
crypto common: Drop linux/bug.h from common header 2020-05-18 21:19:23 -04:00
dhry command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
efi common: Drop init.h from common header 2020-05-18 17:33:33 -04:00
efi_driver common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
efi_loader efi_loader: image_loader: verification for all signatures should pass 2020-07-11 23:14:15 +02:00
efi_selftest common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
libavb common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
libfdt fdt_region: move fdt_region.c to common/ from lib/libfdt/ 2020-04-26 14:23:55 -06:00
lzma common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lzo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
optee optee: fix copy of optee reserved-memory node 2020-06-15 11:23:40 -04:00
rsa lib: rsa: function to verify a signature against a hash 2020-07-08 17:21:46 -04:00
tizen SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
zlib lib: zlib: fix formatting, reference 2020-04-27 14:55:29 -04:00
zstd dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
.gitignore lib: ignore oid_registry_data.c file 2020-01-22 17:47:57 -05:00
addr_map.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
aes.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
asm-offsets.c common: Drop asm_offsets.h from common header 2020-05-18 21:19:23 -04:00
asn1_decoder.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bch.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
binman.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bitrev.c lib: bitrev: Sync with Linux kernel v4.17 2018-09-18 00:01:18 -06:00
charset.c charset: Add support for calculating bytes occupied by a u16 string 2020-05-09 09:30:28 +02:00
circbuf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
crc7.c lib: add crc7 from Linux 2011-01-18 23:38:08 +01:00
crc8.c common: Drop linux/crc8.h 2019-12-02 18:23:07 -05:00
crc16.c Roll CRC16-CCITT into the hash infrastructure 2018-12-08 20:18:44 -05:00
crc32.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
crc32c.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ctype.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
date.c lib: add mktime64() for linux compatibility 2019-12-06 16:44:19 -05:00
display_options.c display_options: Drop #ifdef for MEM_SUPPORT_64BIT_DATA 2020-07-08 17:21:46 -04:00
div64.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
elf.c lib: elf: Move the generic elf loading/validating functions to lib 2020-03-03 13:08:14 +05:30
errno_str.c lib: errno: sync error codes 2019-10-31 07:22:53 -04:00
errno.c Add basic errno support. 2010-09-19 19:29:47 +02:00
fdtdec_common.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
fdtdec_test.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
fdtdec.c fdtdec: Honor #address-cells and #size-cells in fdtdec_add_reserved_memory() 2020-06-11 20:52:11 -06:00
gunzip.c common: Drop part.h from common header 2020-05-18 17:33:33 -04:00
gzip.c common: Move gzip functions into a new gzip header 2019-08-11 16:43:41 -04:00
hang.c common: Move hang() to the same header as panic() 2020-01-17 17:53:40 -05:00
hashtable.c lib: Always set errno in hcreate_r 2020-07-01 15:01:21 +08:00
hexdump.c lib: do not provide hexdump in SPL 2020-04-24 10:51:32 -04:00
image-sparse.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
Kconfig powerpc: move ADDR_MAP to Kconfig 2020-07-10 14:10:43 -04:00
ldiv.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
linux_compat.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
linux_string.c Make linux kernel string funcs available to tools 2012-12-13 11:46:07 -07:00
list_sort.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lmb.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lz4_wrapper.c common: Add a new lz4.h header file 2019-12-02 18:23:11 -05:00
lz4.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
Makefile Add support for SHA384 and SHA512 2020-06-12 13:14:07 -04:00
md5.c GCC47: Fix warning in md5.c 2012-04-29 14:14:08 +02:00
membuff.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
net_utils.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
of_live.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
oid_registry.c lib: add oid registry utility 2019-12-06 16:44:20 -05:00
panic.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
physmem.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
qsort.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
rand.c common: Move random-number functions into their own header 2019-12-02 18:23:07 -05:00
rbtree.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
rc4.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha1.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha256.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
sha512.c Add support for SHA384 and SHA512 2020-06-12 13:14:07 -04:00
slre.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
smbios.c smbios: empty strings in smbios_add_string() 2020-06-05 04:04:41 +02:00
string.c string: Allow arch override of strndup() also 2020-02-05 19:33:46 -07:00
strto.c Revert "lib: Improve _parse_integer_fixup_radix base 16 detection" 2020-06-15 11:23:41 -04:00
tables_csum.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
time.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
tiny-printf.c tiny-printf: Support %i 2020-05-01 11:03:24 -04:00
tpm-common.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
tpm-utils.h tpm: Convert to use a device parameter 2018-11-29 09:30:06 -07:00
tpm-v1.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
tpm-v2.c tpm: add TPM2_GetRandom command support 2020-07-08 15:38:32 -04:00
trace.c trace: clang compatible handling of gd register 2020-07-07 18:23:48 -04:00
uuid.c command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
vsprintf.c compiler*.h: sync include/linux/compiler*.h with Linux 5.7-rc5 2020-07-01 11:48:05 -04:00
xxhash.c lib: Add xxhash support 2019-05-05 08:48:50 -04:00