LIEF: Library to Instrument Executable Formats Version 0.16.0
Loading...
Searching...
No Matches
LIEF::PE::PKCS9TSTInfo Class Reference

Interface over the structure described by the OID 1.2.840.113549.1.9.16.1.4 (PKCS #9) More...

#include <PKCS9TSTInfo.hpp>

Inheritance diagram for LIEF::PE::PKCS9TSTInfo:
Collaboration diagram for LIEF::PE::PKCS9TSTInfo:

Public Member Functions

 PKCS9TSTInfo ()
 
 PKCS9TSTInfo (const PKCS9TSTInfo &)=default
 
PKCS9TSTInfooperator= (const PKCS9TSTInfo &)=default
 
std::unique_ptr< Contentclone () const override
 
void print (std::ostream &) const override
 
void accept (Visitor &visitor) const override
 
 ~PKCS9TSTInfo () override=default
 
- Public Member Functions inherited from LIEF::PE::ContentInfo::Content
 Content (oid_t oid)
 
const oid_tcontent_type () const
 
 ~Content () override=default
 
- Public Member Functions inherited from LIEF::Object
 Object ()
 
 Object (const Object &other)
 
Objectoperator= (const Object &other)
 
template<class T >
output_t< T > as ()
 
template<class T >
output_const_t< T > as () const
 
virtual bool operator== (const Object &other) const
 
virtual bool operator!= (const Object &other) const
 
virtual ~Object ()
 

Static Public Member Functions

static bool classof (const ContentInfo::Content *content)
 

Static Public Attributes

static constexpr auto PKCS9_TSTINFO_OBJID = "1.2.840.113549.1.9.16.1.4"
 

Additional Inherited Members

- Public Types inherited from LIEF::Object
template<class T >
using output_t = add_pointer_t<decay_t<T>>
 
template<class T >
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>
 

Detailed Description

Interface over the structure described by the OID 1.2.840.113549.1.9.16.1.4 (PKCS #9)

The internal structure is described in the RFC #3161

TSTInfo ::= SEQUENCE {
version INTEGER { v1(1) },
policy TSAPolicyId,
messageImprint MessageImprint,
serialNumber INTEGER,
genTime GeneralizedTime,
accuracy Accuracy OPTIONAL,
ordering BOOLEAN DEFAULT FALSE,
nonce INTEGER OPTIONAL,
tsa [0] GeneralName OPTIONAL,
extensions [1] IMPLICIT Extensions OPTIONAL
}
TSAPolicyId ::= OBJECT IDENTIFIER
MessageImprint ::= SEQUENCE {
hashAlgorithm AlgorithmIdentifier,
hashedMessage OCTET STRING
}
Accuracy ::= SEQUENCE {
seconds INTEGER OPTIONAL,
millis [0] INTEGER (1..999) OPTIONAL,
micros [1] INTEGER (1..999) OPTIONAL
}

Constructor & Destructor Documentation

◆ PKCS9TSTInfo() [1/2]

LIEF::PE::PKCS9TSTInfo::PKCS9TSTInfo ( )
inline

◆ PKCS9TSTInfo() [2/2]

LIEF::PE::PKCS9TSTInfo::PKCS9TSTInfo ( const PKCS9TSTInfo & )
default

◆ ~PKCS9TSTInfo()

LIEF::PE::PKCS9TSTInfo::~PKCS9TSTInfo ( )
overridedefault

Member Function Documentation

◆ accept()

void LIEF::PE::PKCS9TSTInfo::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ classof()

static bool LIEF::PE::PKCS9TSTInfo::classof ( const ContentInfo::Content * content)
inlinestatic

◆ clone()

std::unique_ptr< Content > LIEF::PE::PKCS9TSTInfo::clone ( ) const
inlineoverridevirtual

◆ operator=()

PKCS9TSTInfo & LIEF::PE::PKCS9TSTInfo::operator= ( const PKCS9TSTInfo & )
default

◆ print()

void LIEF::PE::PKCS9TSTInfo::print ( std::ostream & ) const
inlineoverridevirtual

Member Data Documentation

◆ PKCS9_TSTINFO_OBJID

auto LIEF::PE::PKCS9TSTInfo::PKCS9_TSTINFO_OBJID = "1.2.840.113549.1.9.16.1.4"
staticconstexpr

Referenced by classof().


The documentation for this class was generated from the following file: