Botan 3.13.0
Crypto and TLS for C&
Botan::Cert_Extension::Authority_Key_ID Class Referencefinal

#include <x509_ext.h>

Inheritance diagram for Botan::Cert_Extension::Authority_Key_ID:
Botan::Certificate_Extension

Classes

struct  Authority_Cert_Identifier

Public Member Functions

const std::optional< Authority_Cert_Identifier > & authority_cert_identifier () const
 Authority_Key_ID ()=default
 Authority_Key_ID (const std::vector< uint8_t > &k)
 Authority_Key_ID (const std::vector< uint8_t > &k, Authority_Cert_Identifier authority_cert)
std::unique_ptr< Certificate_Extensioncopy () const override
const std::vector< uint8_t > & get_key_id () const
OID oid_of () const override
virtual void validate (const X509_Certificate &subject, const std::optional< X509_Certificate > &issuer, const std::vector< X509_Certificate > &cert_path, std::vector< std::set< Certificate_Status_Code > > &cert_status, size_t pos) const

Static Public Member Functions

static OID static_oid ()

Detailed Description

Authority Key Identifier Extension

Definition at line 153 of file x509_ext.h.

Constructor & Destructor Documentation

◆ Authority_Key_ID() [1/3]

Botan::Cert_Extension::Authority_Key_ID::Authority_Key_ID ( )
default

◆ Authority_Key_ID() [2/3]

Botan::Cert_Extension::Authority_Key_ID::Authority_Key_ID ( const std::vector< uint8_t > & k)
inlineexplicit

Definition at line 159 of file x509_ext.h.

159: m_key_id(k) {}

◆ Authority_Key_ID() [3/3]

Botan::Cert_Extension::Authority_Key_ID::Authority_Key_ID ( const std::vector< uint8_t > & k,
Authority_Cert_Identifier authority_cert )
inline

Definition at line 170 of file x509_ext.h.

170 :
171 m_key_id(k), m_authority_cert(std::move(authority_cert)) {}

Member Function Documentation

◆ authority_cert_identifier()

const std::optional< Authority_Cert_Identifier > & Botan::Cert_Extension::Authority_Key_ID::authority_cert_identifier ( ) const
inline

The authorityCertIssuer/authorityCertSerialNumber fields, if present

Definition at line 178 of file x509_ext.h.

178{ return m_authority_cert; }

◆ copy()

std::unique_ptr< Certificate_Extension > Botan::Cert_Extension::Authority_Key_ID::copy ( ) const
inlineoverridevirtual

Make a copy of this extension

Returns
copy of this

Implements Botan::Certificate_Extension.

Definition at line 155 of file x509_ext.h.

155{ return std::make_unique<Authority_Key_ID>(*this); }

◆ get_key_id()

const std::vector< uint8_t > & Botan::Cert_Extension::Authority_Key_ID::get_key_id ( ) const
inline

Definition at line 173 of file x509_ext.h.

173{ return m_key_id; }

◆ oid_of()

OID Botan::Cert_Extension::Authority_Key_ID::oid_of ( ) const
inlineoverridevirtual

Return object identifier for this extension

Returns
OID representing this extension

Implements Botan::Certificate_Extension.

Definition at line 182 of file x509_ext.h.

182{ return static_oid(); }

References static_oid().

◆ static_oid()

OID Botan::Cert_Extension::Authority_Key_ID::static_oid ( )
inlinestatic

Definition at line 180 of file x509_ext.h.

180{ return OID({2, 5, 29, 35}); }

Referenced by oid_of().

◆ validate()

void Botan::Certificate_Extension::validate ( const X509_Certificate & subject,
const std::optional< X509_Certificate > & issuer,
const std::vector< X509_Certificate > & cert_path,
std::vector< std::set< Certificate_Status_Code > > & cert_status,
size_t pos ) const
virtualinherited

Callback visited during path validation.

An extension can implement this callback to inspect the path during path validation.

If an error occurs during validation of this extension, an appropriate status code shall be added to cert_status.

Parameters
subjectSubject certificate that contains this extension
issuerIssuer certificate. nullopt for certificates with no available issuer (e.g. non self-signed trust anchors).
cert_pathCertificate path which is currently validated
cert_statusCertificate validation status codes for subject certificate
posPosition of subject certificate in cert_path

Reimplemented in Botan::Cert_Extension::ASBlocks, Botan::Cert_Extension::Certificate_Policies, Botan::Cert_Extension::IPAddressBlocks, Botan::Cert_Extension::Name_Constraints, Botan::Cert_Extension::NoRevocationAvailable, Botan::Cert_Extension::OCSP_NoCheck, and Botan::Cert_Extension::Unknown_Extension.

Definition at line 181 of file x509_ext.cpp.

185 {}

Referenced by is_appropriate_context().


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