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

#include <x509_ext.h>

Inheritance diagram for Botan::Cert_Extension::CRL_Number:
Botan::Certificate_Extension

Public Member Functions

std::unique_ptr< Certificate_Extensioncopy () const override
 CRL_Number ()
 CRL_Number (BigInt n)
BOTAN_FUTURE_EXPLICIT CRL_Number (size_t n)
const BigIntcrl_number () const
size_t get_crl_number () 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 Number Extension

Definition at line 497 of file x509_ext.h.

Constructor & Destructor Documentation

◆ CRL_Number() [1/3]

Botan::Cert_Extension::CRL_Number::CRL_Number ( )
inline

Definition at line 501 of file x509_ext.h.

501: m_has_value(false), m_crl_number(BigInt::zero()) {}
static BigInt zero()
Definition bigint.h:50

Referenced by CRL_Number().

◆ CRL_Number() [2/3]

BOTAN_FUTURE_EXPLICIT Botan::Cert_Extension::CRL_Number::CRL_Number ( size_t n)
inline

Definition at line 503 of file x509_ext.h.

static BigInt from_u64(uint64_t n)
Definition bigint.cpp:30

References BOTAN_FUTURE_EXPLICIT, and CRL_Number().

◆ CRL_Number() [3/3]

Botan::Cert_Extension::CRL_Number::CRL_Number ( BigInt n)
explicit

Definition at line 1200 of file x509_ext.cpp.

1200 : m_has_value(true), m_crl_number(std::move(n)) {
1201 BOTAN_ARG_CHECK(m_crl_number.signum() >= 0, "CRL number cannot be negative");
1202}
#define BOTAN_ARG_CHECK(expr, msg)
Definition assert.h:33

References BOTAN_ARG_CHECK.

Member Function Documentation

◆ copy()

std::unique_ptr< Certificate_Extension > Botan::Cert_Extension::CRL_Number::copy ( ) const
overridevirtual

Make a copy of this extension

Returns
copy of this

Implements Botan::Certificate_Extension.

Definition at line 1222 of file x509_ext.cpp.

1222 {
1223 return std::make_unique<CRL_Number>(*this);
1224}

◆ crl_number()

const BigInt & Botan::Cert_Extension::CRL_Number::crl_number ( ) const

Definition at line 1204 of file x509_ext.cpp.

1204 {
1205 // This can only happen via a misuse of the CRL_Number default constructor
1206 BOTAN_STATE_CHECK(m_has_value);
1207 return m_crl_number;
1208}
#define BOTAN_STATE_CHECK(expr)
Definition assert.h:49

References BOTAN_STATE_CHECK.

◆ get_crl_number()

size_t Botan::Cert_Extension::CRL_Number::get_crl_number ( ) const

Definition at line 1213 of file x509_ext.cpp.

1213 {
1214 // This can only happen via a misuse of the CRL_Number default constructor
1215 BOTAN_STATE_CHECK(m_has_value);
1216 return m_crl_number.to_u32bit();
1217}

References BOTAN_STATE_CHECK.

◆ oid_of()

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

Return object identifier for this extension

Returns
OID representing this extension

Implements Botan::Certificate_Extension.

Definition at line 513 of file x509_ext.h.

513{ return static_oid(); }

References static_oid().

◆ static_oid()

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

Definition at line 511 of file x509_ext.h.

511{ return OID({2, 5, 29, 20}); }

References static_oid().

Referenced by oid_of(), and static_oid().

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