LIEF: Library to Instrument Executable Formats
Version 0.17.4
Toggle main menu visibility
Loading...
Searching...
No Matches
install
linux
x86_64
sdk
static
include
LIEF
PE
signature
PKCS9TSTInfo.hpp
Go to the documentation of this file.
1
/* Copyright 2017 - 2025 R. Thomas
2
* Copyright 2017 - 2025 Quarkslab
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#ifndef LIEF_PE_PKCS9_TSTINFO_H
17
#define LIEF_PE_PKCS9_TSTINFO_H
18
#include <ostream>
19
#include <memory>
20
21
#include "
LIEF/Visitor.hpp
"
22
#include "
LIEF/visibility.h
"
23
#include "
LIEF/PE/signature/ContentInfo.hpp
"
24
25
namespace
LIEF
{
26
namespace
PE
{
27
59
class
LIEF_API
PKCS9TSTInfo
:
public
ContentInfo::Content
{
60
friend
class
SignatureParser
;
61
62
public
:
63
static
constexpr
auto
PKCS9_TSTINFO_OBJID
=
"1.2.840.113549.1.9.16.1.4"
;
64
PKCS9TSTInfo
() :
65
ContentInfo
::
Content
(
PKCS9_TSTINFO_OBJID
)
66
{}
67
PKCS9TSTInfo
(
const
PKCS9TSTInfo
&) =
default
;
68
PKCS9TSTInfo
&
operator=
(
const
PKCS9TSTInfo
&) =
default
;
69
70
std::unique_ptr<Content>
clone
()
const override
{
71
return
std::unique_ptr<Content>(
new
PKCS9TSTInfo
{*
this
});
72
}
73
74
void
print
(std::ostream&
/*os*/
)
const override
{
75
return
;
76
}
77
78
void
accept
(
Visitor
& visitor)
const override
;
79
80
~PKCS9TSTInfo
()
override
=
default
;
81
82
static
bool
classof
(
const
ContentInfo::Content
* content) {
83
return
content->
content_type
() ==
PKCS9_TSTINFO_OBJID
;
84
}
85
86
private
:
87
uint32_t version_ = 0;
88
};
89
}
90
}
91
#endif
ContentInfo.hpp
Visitor.hpp
LIEF::PE::ContentInfo::Content
Definition
ContentInfo.hpp:83
LIEF::PE::ContentInfo::Content::content_type
const oid_t & content_type() const
Definition
ContentInfo.hpp:89
LIEF::PE::ContentInfo::Content::Content
Content(oid_t oid)
Definition
ContentInfo.hpp:85
LIEF::PE::ContentInfo
Definition
ContentInfo.hpp:78
LIEF::PE::PKCS9TSTInfo::print
void print(std::ostream &) const override
Definition
PKCS9TSTInfo.hpp:74
LIEF::PE::PKCS9TSTInfo::classof
static bool classof(const ContentInfo::Content *content)
Definition
PKCS9TSTInfo.hpp:82
LIEF::PE::PKCS9TSTInfo::PKCS9_TSTINFO_OBJID
static constexpr auto PKCS9_TSTINFO_OBJID
Definition
PKCS9TSTInfo.hpp:63
LIEF::PE::PKCS9TSTInfo::operator=
PKCS9TSTInfo & operator=(const PKCS9TSTInfo &)=default
LIEF::PE::PKCS9TSTInfo::accept
void accept(Visitor &visitor) const override
LIEF::PE::PKCS9TSTInfo::SignatureParser
friend class SignatureParser
Definition
PKCS9TSTInfo.hpp:60
LIEF::PE::PKCS9TSTInfo::PKCS9TSTInfo
PKCS9TSTInfo()
Definition
PKCS9TSTInfo.hpp:64
LIEF::PE::PKCS9TSTInfo::clone
std::unique_ptr< Content > clone() const override
Definition
PKCS9TSTInfo.hpp:70
LIEF::PE::PKCS9TSTInfo::~PKCS9TSTInfo
~PKCS9TSTInfo() override=default
LIEF::PE::PKCS9TSTInfo::PKCS9TSTInfo
PKCS9TSTInfo(const PKCS9TSTInfo &)=default
LIEF::Visitor
Definition
Visitor.hpp:210
LIEF::PE
Namespace related to the LIEF's PE module.
Definition
Abstract/Header.hpp:32
LIEF
LIEF namespace.
Definition
Abstract/Binary.hpp:40
visibility.h
LIEF_API
#define LIEF_API
Definition
visibility.h:41
Generated by
1.17.0