Go to the documentation of this file.
17#ifndef LIEF_PE_ATTRIBUTES_PKCS9_SIGNING_TIME_H
18#define LIEF_PE_ATTRIBUTES_PKCS9_SIGNING_TIME_H
45 friend class SignatureParser;
47 public:
using time_t = std::array<int32_t, 6>;
53 Attribute(Attribute::TYPE::PKCS9_SIGNING_TIME),
58 PKCS9SigningTime&
operator=(
const PKCS9SigningTime&) =
default;
59 const time_t&
time()
const {
64 std::string
print()
const override;
68 std::unique_ptr<Attribute>
clone()
const override {
69 return std::unique_ptr<Attribute>(
new PKCS9SigningTime{*
this});
72 static bool classof(
const Attribute* attr) {
73 return attr->
type() == Attribute::TYPE::PKCS9_SIGNING_TIME;
76 void accept(Visitor& visitor)
const override;
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
Interface over the structure described by the OID 1.2.840.113549.1.9.5 (PKCS #9)
Definition PKCS9SigningTime.hpp:42
~PKCS9SigningTime() override=default
std::unique_ptr< Attribute > clone() const override
Definition PKCS9SigningTime.hpp:68
PKCS9SigningTime(const PKCS9SigningTime &)=default
static bool classof(const Attribute *attr)
Definition PKCS9SigningTime.hpp:72
void accept(Visitor &visitor) const override
PKCS9SigningTime & operator=(const PKCS9SigningTime &)=default
PKCS9SigningTime(time_t time)
Definition PKCS9SigningTime.hpp:52
std::string print() const override
Print information about the attribute.
const time_t & time() const
Time as an array [year, month, day, hour, min, sec].
Definition PKCS9SigningTime.hpp:61
PKCS9SigningTime()=delete
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41