16#ifndef LIEF_PE_SIGNATURE_PARSER_H
17#define LIEF_PE_SIGNATURE_PARSER_H
40 struct SpcPeImageData {
46 std::string program_name;
47 std::string more_info;
58 using time_t = std::array<int32_t, 6>;
62 bool skip_header =
false);
72 template<
class PathT, enable_if_path_t<PathT> = 0>
74 return parse(path.string());
109 parse_spc_relaxed_pe_marker_check(
BinaryStream& stream);
112 parse_spc_indirect_data(
BinaryStream& stream, range_t& range);
114 parse_ms_platform_manifest_binary_id(
BinaryStream& stream);
Class that is used to a read stream of data from different sources.
Definition BinaryStream.hpp:35
Interface over PKCS #7 attribute.
Definition PE/signature/Attribute.hpp:29
Interface over the structure described by the OID 1.2.840.113549.1.9.16.1.4 (PKCS #9).
Definition PKCS9TSTInfo.hpp:60
Main interface to parse PE binaries. In particular, the static Parser::parse functions should be used...
Definition PE/Parser.hpp:54
static result< Signature > parse(std::vector< uint8_t > data, bool skip_header=false)
Parse a PKCS #7 signature given a raw blob.
std::vector< x509 > x509_certificates_t
Definition SignatureParser.hpp:57
static result< Signature > parse(const PathT &path)
Same as parse(std::string_view) but the file is given as a std::filesystem::path.
Definition SignatureParser.hpp:73
static result< Signature > parse(BinaryStream &stream, bool skip_header=false)
Parse a PKCS #7 signature given a BinaryStream.
std::vector< SignerInfo > signer_infos_t
Definition SignatureParser.hpp:56
std::vector< std::unique_ptr< Attribute > > attributes_t
Definition SignatureParser.hpp:55
std::array< int32_t, 6 > time_t
Definition SignatureParser.hpp:58
SignatureParser & operator=(const SignatureParser &)=delete
SignatureParser(const SignatureParser &)=delete
static result< Signature > parse(std::string_view path)
Parse a PKCS #7 signature from a file path.
friend class Parser
Definition SignatureParser.hpp:39
Definition SpcIndirectData.hpp:32
Interface over the structure described by the OID 1.3.6.1.4.1.311.2.1.12.
Definition SpcSpOpusInfo.hpp:41
Definition VectorStream.hpp:29
Wrapper that contains an Object (T) or an error.
Definition errors.hpp:79
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
LIEF namespace.
Definition Abstract/Binary.hpp:41
#define LIEF_API
Definition visibility.h:45