diff options
author | Tom Rini <trini@konsulko.com> | 2022-07-06 09:17:08 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-07-06 09:17:08 -0400 |
commit | 2d2c61ff0460740d9ec5a44dbef9255a8c690696 (patch) | |
tree | e6a9774971bd0e2a1b49eedbf17401a70c796753 /include | |
parent | 0cc846dafcf6f6270c6587d6fe79011834d6e49a (diff) | |
parent | 8fb9dbdea716ab764c7a3c544569f903cbfdd744 (diff) |
Merge tag 'efi-2022-07-rc7' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-2022-07-rc7
UEFI:
* correct verification of signed UEFI binaries
Diffstat (limited to 'include')
-rw-r--r-- | include/crypto/mscode.h | 43 | ||||
-rw-r--r-- | include/efi_loader.h | 2 |
2 files changed, 45 insertions, 0 deletions
diff --git a/include/crypto/mscode.h b/include/crypto/mscode.h new file mode 100644 index 00000000000..551058b96e6 --- /dev/null +++ b/include/crypto/mscode.h @@ -0,0 +1,43 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* PE Binary parser bits + * + * Copyright (C) 2014 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + */ + +#include <crypto/pkcs7.h> +#ifndef __UBOOT__ +#include <crypto/hash_info.h> +#endif + +struct pefile_context { +#ifndef __UBOOT__ + unsigned header_size; + unsigned image_checksum_offset; + unsigned cert_dirent_offset; + unsigned n_data_dirents; + unsigned n_sections; + unsigned certs_size; + unsigned sig_offset; + unsigned sig_len; + const struct section_header *secs; +#endif + + /* PKCS#7 MS Individual Code Signing content */ + const void *digest; /* Digest */ + unsigned digest_len; /* Digest length */ + const char *digest_algo; /* Digest algorithm */ +}; + +#ifndef __UBOOT__ +#define kenter(FMT, ...) \ + pr_devel("==> %s("FMT")\n", __func__, ##__VA_ARGS__) +#define kleave(FMT, ...) \ + pr_devel("<== %s()"FMT"\n", __func__, ##__VA_ARGS__) +#endif + +/* + * mscode_parser.c + */ +extern int mscode_parse(void *_ctx, const void *content_data, size_t data_len, + size_t asn1hdrlen); diff --git a/include/efi_loader.h b/include/efi_loader.h index c1e00ebac39..11930fbea83 100644 --- a/include/efi_loader.h +++ b/include/efi_loader.h @@ -931,6 +931,8 @@ struct efi_signature_store { struct x509_certificate; struct pkcs7_message; +bool efi_hash_regions(struct image_region *regs, int count, + void **hash, const char *hash_algo, int *len); bool efi_signature_lookup_digest(struct efi_image_regions *regs, struct efi_signature_store *db, bool dbx); |