Botan 2.19.0
Crypto and TLS for C&
Public Member Functions | List of all members
Botan::OCSP::Request Class Referencefinal

#include <ocsp.h>

Public Member Functions

std::string base64_encode () const
 
std::vector< uint8_t > BER_encode () const
 
const X509_Certificateissuer () const
 
const std::vector< uint8_t > & issuer_key_hash () const
 
 Request (const X509_Certificate &issuer_cert, const BigInt &subject_serial)
 
 Request (const X509_Certificate &issuer_cert, const X509_Certificate &subject_cert)
 
const X509_Certificatesubject () const
 

Detailed Description

An OCSP request.

Definition at line 71 of file ocsp.h.

Constructor & Destructor Documentation

◆ Request() [1/2]

Botan::OCSP::Request::Request ( const X509_Certificate issuer_cert,
const X509_Certificate subject_cert 
)

Create an OCSP request.

Parameters
issuer_certissuer certificate
subject_certsubject certificate

Definition at line 53 of file ocsp.cpp.

54 :
55 m_issuer(issuer_cert),
56 m_certid(m_issuer, BigInt::decode(subject_cert.serial_number()))
57 {
58 if(subject_cert.issuer_dn() != issuer_cert.subject_dn())
59 throw Invalid_Argument("Invalid cert pair to OCSP::Request (mismatched issuer,subject args?)");
60 }
static BigInt decode(const uint8_t buf[], size_t length)
Definition: bigint.h:805

References Botan::X509_Certificate::issuer_dn(), and Botan::X509_Certificate::subject_dn().

◆ Request() [2/2]

Botan::OCSP::Request::Request ( const X509_Certificate issuer_cert,
const BigInt subject_serial 
)

Definition at line 62 of file ocsp.cpp.

63 :
64 m_issuer(issuer_cert),
65 m_certid(m_issuer, subject_serial)
66 {
67 }

Member Function Documentation

◆ base64_encode()

std::string Botan::OCSP::Request::base64_encode ( ) const
Returns
Base64-encoded OCSP request

Definition at line 88 of file ocsp.cpp.

89 {
91 }
std::vector< uint8_t > BER_encode() const
Definition: ocsp.cpp:69
size_t base64_encode(char out[], const uint8_t in[], size_t input_length, size_t &input_consumed, bool final_inputs)
Definition: base64.cpp:185

References Botan::base64_encode(), and BER_encode().

◆ BER_encode()

std::vector< uint8_t > Botan::OCSP::Request::BER_encode ( ) const
Returns
BER-encoded OCSP request

Definition at line 69 of file ocsp.cpp.

70 {
71 std::vector<uint8_t> output;
72 DER_Encoder(output).start_cons(SEQUENCE)
73 .start_cons(SEQUENCE)
74 .start_explicit(0)
75 .encode(static_cast<size_t>(0)) // version #
76 .end_explicit()
77 .start_cons(SEQUENCE)
78 .start_cons(SEQUENCE)
79 .encode(m_certid)
80 .end_cons()
81 .end_cons()
82 .end_cons()
83 .end_cons();
84
85 return output;
86 }
@ SEQUENCE
Definition: asn1_obj.h:42

References Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::end_explicit(), Botan::SEQUENCE, Botan::DER_Encoder::start_cons(), and Botan::DER_Encoder::start_explicit().

Referenced by base64_encode().

◆ issuer()

const X509_Certificate & Botan::OCSP::Request::issuer ( ) const
inline
Returns
issuer certificate

Definition at line 98 of file ocsp.h.

98{ return m_issuer; }

◆ issuer_key_hash()

const std::vector< uint8_t > & Botan::OCSP::Request::issuer_key_hash ( ) const
inline

Definition at line 105 of file ocsp.h.

106 { return m_certid.issuer_key_hash(); }
const std::vector< uint8_t > & issuer_key_hash() const
Definition: ocsp.h:38

◆ subject()

const X509_Certificate & Botan::OCSP::Request::subject ( ) const
inline
Returns
subject certificate

Definition at line 103 of file ocsp.h.

103{ throw Not_Implemented("Method have been deprecated"); }

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