dxd - dynax driver framework 3.0.2
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::x509::certificate Struct Reference

#include <dx_license.h>

Collaboration diagram for dx::x509::certificate:

Public Member Functions

bool extension(const char* dotted, const uint8_t *& value, size_t& size) const noexcept
 an extension's value (the OCTET STRING's content: the value's own DER) by its dotted object identifier; false when absent
bool named(const char* prefix) const noexcept
 the subject's common name starts with prefix (Name ::= SEQUENCE OF SET OF SEQUENCE {type OID, value})
bool parse(const uint8_t* bytes, size_t size) noexcept
 false when the bytes are no certificate
bool rsa(crypto::rsa& key) const noexcept
 the subject's RSA public key (SubjectPublicKeyInfo ::= SEQUENCE {algorithm, subjectPublicKey BIT STRING {RSAPublicKey ::= SEQUENCE {modulus, publicExponent}}}); false for any other key
bool signed_by(const certificate& issuer, crypto::rsa& key) const noexcept
 the certificate is the issuer's: its issuer name is the issuer's subject and its signature (sha256WithRSAEncryption) verifies with the issuer's key

Public Attributes

der::tlv algorithm{}
der::tlv extensions{}
der::tlv issuer{}
der::tlv key{}
int64_t not_after{}
int64_t not_before{}
der::tlv signature{}
 tbs: the whole TBSCertificate element (its DER is what is signed); key: subjectPublicKeyInfo
der::tlv subject{}
der::tlv tbs{}

Member Function Documentation

◆ extension()

bool dx::x509::certificate::extension(const char* dotted, const uint8_t*& value, size_t& size) const
inlinenoexcept

an extension's value (the OCTET STRING's content: the value's own DER) by its dotted object identifier; false when absent

Here is the call graph for this function:
Here is the caller graph for this function:

◆ named()

bool dx::x509::certificate::named(const char* prefix) const
inlinenoexcept

the subject's common name starts with prefix (Name ::= SEQUENCE OF SET OF SEQUENCE {type OID, value})

Here is the call graph for this function:
Here is the caller graph for this function:

◆ parse()

bool dx::x509::certificate::parse(const uint8_t* bytes, size_t size)
inlinenoexcept

false when the bytes are no certificate

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rsa()

bool dx::x509::certificate::rsa(crypto::rsa& key) const
inlinenoexcept

the subject's RSA public key (SubjectPublicKeyInfo ::= SEQUENCE {algorithm, subjectPublicKey BIT STRING {RSAPublicKey ::= SEQUENCE {modulus, publicExponent}}}); false for any other key

Here is the call graph for this function:

◆ signed_by()

bool dx::x509::certificate::signed_by(const certificate& issuer, crypto::rsa& key) const
inlinenoexcept

the certificate is the issuer's: its issuer name is the issuer's subject and its signature (sha256WithRSAEncryption) verifies with the issuer's key

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ algorithm

der::tlv dx::x509::certificate::algorithm{}

◆ extensions

der::tlv dx::x509::certificate::extensions{}

◆ issuer

der::tlv dx::x509::certificate::issuer{}

◆ key

der::tlv dx::x509::certificate::key{}

◆ not_after

int64_t dx::x509::certificate::not_after{}

seconds since 1970-01-01 UTC

◆ not_before

int64_t dx::x509::certificate::not_before{}

◆ signature

der::tlv dx::x509::certificate::signature{}

tbs: the whole TBSCertificate element (its DER is what is signed); key: subjectPublicKeyInfo

◆ subject

der::tlv dx::x509::certificate::subject{}

◆ tbs

der::tlv dx::x509::certificate::tbs{}

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