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

#include <x509_ext.h>

Inheritance diagram for Botan::Cert_Extension::CRL_Distribution_Points:
Botan::Certificate_Extension

Classes

class  Distribution_Point

Public Member Functions

std::unique_ptr< Certificate_Extensioncopy () const override
const std::vector< URI > & crl_distribution_point_uris () const
 CRL_Distribution_Points ()=default
 CRL_Distribution_Points (const std::vector< Distribution_Point > &points)
std::vector< std::string > crl_distribution_urls () const
const std::vector< Distribution_Point > & distribution_points () 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

CRL Distribution Points Extension (RFC 5280 4.2.1.13)

Definition at line 596 of file x509_ext.h.

Constructor & Destructor Documentation

◆ CRL_Distribution_Points() [1/2]

Botan::Cert_Extension::CRL_Distribution_Points::CRL_Distribution_Points ( )
default

◆ CRL_Distribution_Points() [2/2]

Botan::Cert_Extension::CRL_Distribution_Points::CRL_Distribution_Points ( const std::vector< Distribution_Point > & points)
explicit

Definition at line 1336 of file x509_ext.cpp.

1336 :
1337 m_distribution_points(points),
1338 m_crl_distribution_urls(crl_distribution_point_uris_from_distribution_points(m_distribution_points)) {}

Member Function Documentation

◆ copy()

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

Make a copy of this extension

Returns
copy of this

Implements Botan::Certificate_Extension.

Definition at line 648 of file x509_ext.h.

648 {
649 return std::make_unique<CRL_Distribution_Points>(*this);
650 }

References copy().

Referenced by copy().

◆ crl_distribution_point_uris()

const std::vector< URI > & Botan::Cert_Extension::CRL_Distribution_Points::crl_distribution_point_uris ( ) const
inline

Definition at line 660 of file x509_ext.h.

660{ return m_crl_distribution_urls; }

References crl_distribution_point_uris().

Referenced by crl_distribution_point_uris().

◆ crl_distribution_urls()

std::vector< std::string > Botan::Cert_Extension::CRL_Distribution_Points::crl_distribution_urls ( ) const

Definition at line 1400 of file x509_ext.cpp.

1400 {
1401 std::vector<std::string> out;
1402 out.reserve(m_crl_distribution_urls.size());
1403 for(const auto& uri : m_crl_distribution_urls) {
1404 out.push_back(uri.original_input());
1405 }
1406 return out;
1407}

◆ distribution_points()

const std::vector< Distribution_Point > & Botan::Cert_Extension::CRL_Distribution_Points::distribution_points ( ) const
inline

Definition at line 656 of file x509_ext.h.

656{ return m_distribution_points; }

◆ oid_of()

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

Return object identifier for this extension

Returns
OID representing this extension

Implements Botan::Certificate_Extension.

Definition at line 664 of file x509_ext.h.

References static_oid().

◆ static_oid()

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

Definition at line 662 of file x509_ext.h.

662{ return OID({2, 5, 29, 31}); }

Referenced by oid_of(), and Botan::Cert_Extension::NoRevocationAvailable::validate().

◆ 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: