1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* PE Binary parser bits 3 * 4 * Copyright (C) 2014 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 */ 7 8 #include <crypto/pkcs7.h> 9 #include <crypto/hash_info.h> 10 11 struct pefile_context { 12 unsigned header_size; 13 unsigned image_checksum_offset; 14 unsigned cert_dirent_offset; 15 unsigned n_data_dirents; 16 unsigned n_sections; 17 unsigned certs_size; 18 unsigned sig_offset; 19 unsigned sig_len; 20 const struct section_header *secs; 21 22 /* PKCS#7 MS Individual Code Signing content */ 23 const void *digest; /* Digest */ 24 unsigned digest_len; /* Digest length */ 25 const char *digest_algo; /* Digest algorithm */ 26 }; 27 28 #define kenter(FMT, ...) \ 29 pr_devel("==> %s("FMT")\n", __func__, ##__VA_ARGS__) 30 #define kleave(FMT, ...) \ 31 pr_devel("<== %s()"FMT"\n", __func__, ##__VA_ARGS__) 32 33 /* 34 * mscode_parser.c 35 */ 36 extern int mscode_parse(void *_ctx, const void *content_data, size_t data_len, 37 size_t asn1hdrlen); 38