uthenticode
2.0.1-19005f0
|
#include <openssl/asn1.h>
#include <openssl/asn1t.h>
#include <openssl/crypto.h>
#include <openssl/x509.h>
#include <pe-parse/parse.h>
#include <cstdint>
#include <exception>
#include <memory>
#include <optional>
#include <vector>
Go to the source code of this file.
Namespaces | |
uthenticode | |
uthenticode::impl | |
Typedefs | |
using | uthenticode::impl::BIO_ptr = std::unique_ptr< BIO, decltype(&BIO_free)> |
using | uthenticode::impl::ASN1_OBJECT_ptr = std::unique_ptr< ASN1_OBJECT, decltype(&ASN1_OBJECT_free)> |
using | uthenticode::impl::ASN1_TYPE_ptr = std::unique_ptr< ASN1_TYPE, decltype(&ASN1_TYPE_free)> |
using | uthenticode::impl::OpenSSL_ptr = std::unique_ptr< char, decltype(&OpenSSL_free)> |
using | uthenticode::impl::BN_ptr = std::unique_ptr< BIGNUM, decltype(&BN_free)> |
using | uthenticode::impl::STACK_OF_X509_ptr = std::unique_ptr< STACK_OF(X509), decltype(&SK_X509_free)> |
using | uthenticode::impl::SectionList = std::vector< const peparse::bounded_buffer * > |
using | uthenticode::Checksum = std::tuple< checksum_kind, std::string > |
Enumerations | |
enum class | uthenticode::certificate_revision : std::uint16_t { uthenticode::CERT_REVISION_1_0 = 0x0100 , uthenticode::CERT_REVISION_2_0 = 0x0200 } |
enum class | uthenticode::certificate_type : std::uint16_t { uthenticode::CERT_TYPE_X509 = 0x0001 , uthenticode::CERT_TYPE_PKCS_SIGNED_DATA = 0x0002 , uthenticode::CERT_TYPE_RESERVED_1 = 0x0003 , uthenticode::CERT_TYPE_PKCS1_SIGN = 0x0009 } |
enum class | uthenticode::checksum_kind : std::uint8_t { uthenticode::UNKNOWN , uthenticode::MD5 , uthenticode::SHA1 , uthenticode::SHA256 } |
Functions | |
void | uthenticode::impl::OpenSSL_free (void *ptr) |
void | uthenticode::impl::SK_X509_free (stack_st_X509 *ptr) |
std::ostream & | uthenticode::operator<< (std::ostream &os, checksum_kind kind) |
std::vector< WinCert > | uthenticode::read_certs (peparse::parsed_pe *pe) |
std::vector< Checksum > | uthenticode::get_checksums (peparse::parsed_pe *pe) |
std::optional< std::string > | uthenticode::calculate_checksum (peparse::parsed_pe *pe, checksum_kind kind) |
bool | uthenticode::verify (peparse::parsed_pe *pe) |
Variables | |
constexpr auto | uthenticode::impl::SPC_INDIRECT_DATA_OID = "1.3.6.1.4.1.311.2.1.4" |
constexpr auto | uthenticode::impl::SPC_NESTED_SIGNATURE_OID = "1.3.6.1.4.1.311.2.4.1" |
The main uthenticode namespace.