Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /* PE Binary parser bits
0003  *
0004  * Copyright (C) 2014 Red Hat, Inc. All Rights Reserved.
0005  * Written by David Howells (dhowells@redhat.com)
0006  */
0007 
0008 #include <crypto/pkcs7.h>
0009 #include <crypto/hash_info.h>
0010 
0011 struct pefile_context {
0012     unsigned    header_size;
0013     unsigned    image_checksum_offset;
0014     unsigned    cert_dirent_offset;
0015     unsigned    n_data_dirents;
0016     unsigned    n_sections;
0017     unsigned    certs_size;
0018     unsigned    sig_offset;
0019     unsigned    sig_len;
0020     const struct section_header *secs;
0021 
0022     /* PKCS#7 MS Individual Code Signing content */
0023     const void  *digest;        /* Digest */
0024     unsigned    digest_len;     /* Digest length */
0025     const char  *digest_algo;       /* Digest algorithm */
0026 };
0027 
0028 #define kenter(FMT, ...)                    \
0029     pr_devel("==> %s("FMT")\n", __func__, ##__VA_ARGS__)
0030 #define kleave(FMT, ...) \
0031     pr_devel("<== %s()"FMT"\n", __func__, ##__VA_ARGS__)
0032 
0033 /*
0034  * mscode_parser.c
0035  */
0036 extern int mscode_parse(void *_ctx, const void *content_data, size_t data_len,
0037             size_t asn1hdrlen);