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

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

#include <PKCS9MessageDigest.hpp>

Inheritance diagram for LIEF::PE::PKCS9MessageDigest:
Collaboration diagram for LIEF::PE::PKCS9MessageDigest:

Public Member Functions

 PKCS9MessageDigest ()=delete
 
 PKCS9MessageDigest (std::vector< uint8_t > digest)
 
 PKCS9MessageDigest (const PKCS9MessageDigest &)=default
 
PKCS9MessageDigestoperator= (const PKCS9MessageDigest &)=default
 
std::unique_ptr< Attributeclone () const override
 
span< const uint8_t > digest () const
 Message digeset as a blob of bytes as described in the RFC.
 
std::string print () const override
 Print information about the attribute.
 
void accept (Visitor &visitor) const override
 
 ~PKCS9MessageDigest () override=default
 
- Public Member Functions inherited from LIEF::PE::Attribute
 Attribute ()=delete
 
 Attribute (const Attribute &)=default
 
Attributeoperator= (const Attribute &)=default
 
virtual TYPE type () const
 Concrete type of the attribute.
 
 ~Attribute () override=default
 
template<class T >
const T * cast () const
 
template<class T >
T * cast ()
 
- 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 Attribute *attr)
 

Additional Inherited Members

- Public Types inherited from LIEF::PE::Attribute
enum class  TYPE {
  UNKNOWN = 0 , CONTENT_TYPE , GENERIC_TYPE , SIGNING_CERTIFICATE_V2 ,
  SPC_SP_OPUS_INFO , SPC_RELAXED_PE_MARKER_CHECK , MS_COUNTER_SIGN , MS_SPC_NESTED_SIGN ,
  MS_SPC_STATEMENT_TYPE , MS_PLATFORM_MANIFEST_BINARY_ID , PKCS9_AT_SEQUENCE_NUMBER , PKCS9_COUNTER_SIGNATURE ,
  PKCS9_MESSAGE_DIGEST , PKCS9_SIGNING_TIME
}
 
- 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.4 (PKCS #9)

The internal structure is described in the RFC #2985: PKCS #9 - Selected Object Classes and Attribute Types Version 2.0

messageDigest ATTRIBUTE ::= {
WITH SYNTAX MessageDigest
EQUALITY MATCHING RULE octetStringMatch
SINGLE VALUE TRUE
ID pkcs-9-at-messageDigest
}
MessageDigest ::= OCTET STRING

Constructor & Destructor Documentation

◆ PKCS9MessageDigest() [1/3]

LIEF::PE::PKCS9MessageDigest::PKCS9MessageDigest ( )
delete

◆ PKCS9MessageDigest() [2/3]

LIEF::PE::PKCS9MessageDigest::PKCS9MessageDigest ( std::vector< uint8_t > digest)
inline

◆ PKCS9MessageDigest() [3/3]

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

◆ ~PKCS9MessageDigest()

LIEF::PE::PKCS9MessageDigest::~PKCS9MessageDigest ( )
overridedefault

Member Function Documentation

◆ accept()

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

Reimplemented from LIEF::PE::Attribute.

◆ classof()

static bool LIEF::PE::PKCS9MessageDigest::classof ( const Attribute * attr)
inlinestatic

◆ clone()

std::unique_ptr< Attribute > LIEF::PE::PKCS9MessageDigest::clone ( ) const
inlineoverridevirtual

Implements LIEF::PE::Attribute.

◆ digest()

span< const uint8_t > LIEF::PE::PKCS9MessageDigest::digest ( ) const
inline

Message digeset as a blob of bytes as described in the RFC.

◆ operator=()

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

◆ print()

std::string LIEF::PE::PKCS9MessageDigest::print ( ) const
overridevirtual

Print information about the attribute.

Implements LIEF::PE::Attribute.


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