11 #include <botan/cert_status.h>
12 #include <botan/ocsp_types.h>
13 #include <botan/x509_dn.h>
18 class Certificate_Store;
37 const BigInt& subject_serial);
60 {
return m_certid.issuer_key_hash(); }
103 Response(
const std::vector<uint8_t>& response_bits) :
104 Response(response_bits.data(), response_bits.size())
112 Response(
const uint8_t response_bits[],
113 size_t response_bits_len);
125 const std::vector<std::shared_ptr<const X509_Certificate>>& cert_path = {})
const;
154 const std::vector<uint8_t>&
raw_bits()
const {
return m_response_bits; }
174 std::chrono::system_clock::time_point ref_time = std::chrono::system_clock::now(),
175 std::chrono::seconds max_age = std::chrono::seconds::zero())
const;
180 const std::vector<X509_Certificate> &
certificates()
const {
return m_certs; }
184 std::vector<uint8_t> m_response_bits;
187 std::vector<uint8_t> m_key_hash;
188 std::vector<uint8_t> m_tbs_bits;
190 std::vector<uint8_t> m_signature;
191 std::vector<X509_Certificate> m_certs;
193 std::vector<SingleResponse> m_responses;
198 #if defined(BOTAN_HAS_HTTP_UTIL)
211 const
BigInt& subject_serial,
212 const
std::
string& ocsp_responder,
214 std::chrono::milliseconds timeout =
std::chrono::milliseconds(3000));
228 std::chrono::milliseconds timeout =
std::chrono::milliseconds(3000));
const std::vector< uint8_t > & signer_key_hash() const
Response(const std::vector< uint8_t > &response_bits)
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
const std::vector< uint8_t > & issuer_key_hash() const
const X509_Time & produced_at() const
Response_Status_Code status() const
const X509_Certificate & issuer() const
size_t base64_encode(char out[], const uint8_t in[], size_t input_length, size_t &input_consumed, bool final_inputs)
secure_vector< uint8_t > BER_encode(const Private_Key &key)
const std::vector< X509_Certificate > & certificates() const
const X509_Certificate & subject() const
const std::vector< uint8_t > & raw_bits() const
const X509_DN & signer_name() const