LIEF: Library to Instrument Executable Formats Version 0.16.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_PE_ATTRIBUTES_MS_COUNTER_SIGNATURE_H
17#define LIEF_PE_ATTRIBUTES_MS_COUNTER_SIGNATURE_H
34 friend class SignatureParser;
37 using certificates_t = std::vector<x509>;
38 using it_const_certificates = const_ref_iterator<const certificates_t&>;
39 using it_certificates = ref_iterator<certificates_t&>;
41 using signers_t = std::vector<SignerInfo>;
42 using it_const_signers = const_ref_iterator<const signers_t&>;
43 using it_signers = ref_iterator<signers_t&>;
46 Attribute(Attribute::TYPE::MS_COUNTER_SIGN)
50 MsCounterSign&
operator=(
const MsCounterSign&) =
default;
52 std::unique_ptr<Attribute>
clone()
const override {
53 return std::unique_ptr<Attribute>(
new MsCounterSign{*
this});
68 it_const_signers
signers()
const {
79 return digest_algorithm_;
86 std::string
print()
const override;
88 void accept(Visitor& visitor)
const override;
90 static bool classof(
const Attribute* attr) {
91 return attr->
type() == Attribute::TYPE::MS_COUNTER_SIGN;
97 uint32_t version_ = 0;
98 ALGORITHMS digest_algorithm_ = ALGORITHMS::UNKNOWN;
99 ContentInfo content_info_;
100 certificates_t certificates_;
101 std::vector<SignerInfo> signers_;
Interface over PKCS #7 attribute.
Definition PE/signature/Attribute.hpp:29
virtual TYPE type() const
Concrete type of the attribute.
Definition PE/signature/Attribute.hpp:62
This class exposes the MS Counter Signature attribute.
Definition MsCounterSign.hpp:32
MsCounterSign & operator=(const MsCounterSign &)=default
MsCounterSign(const MsCounterSign &)=default
it_certificates certificates()
Definition MsCounterSign.hpp:65
it_const_certificates certificates() const
Iterator over the LIEF::PE::x509 certificates of this counter signature.
Definition MsCounterSign.hpp:61
std::unique_ptr< Attribute > clone() const override
Definition MsCounterSign.hpp:52
static bool classof(const Attribute *attr)
Definition MsCounterSign.hpp:90
void accept(Visitor &visitor) const override
MsCounterSign()
Definition MsCounterSign.hpp:45
~MsCounterSign() override=default
uint32_t version() const
Definition MsCounterSign.hpp:56
it_const_signers signers() const
Signer iterator (same as LIEF::PE::SignerInfo)
Definition MsCounterSign.hpp:70
ALGORITHMS digest_algorithm() const
Definition MsCounterSign.hpp:78
const ContentInfo & content_info() const
Definition MsCounterSign.hpp:82
it_signers signers()
Definition MsCounterSign.hpp:74
std::string print() const override
Print information about the underlying attribute.
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
ALGORITHMS
Cryptography algorithms.
Definition PE/enums.hpp:686
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41