8#ifndef BOTAN_X509_OBJECT_H_
9#define BOTAN_X509_OBJECT_H_
11#include <botan/asn1_obj.h>
12#include <botan/pkix_enums.h>
19class RandomNumberGenerator;
33 std::vector<uint8_t> tbs_data()
const;
38 const std::vector<uint8_t>&
signature()
const {
return m_sig; }
43 const std::vector<uint8_t>&
signed_body()
const {
return m_tbs_bits; }
58 static std::vector<uint8_t> make_signed(
PK_Signer& signer,
71 std::pair<Certificate_Status_Code, std::string> verify_signature(
const Public_Key& key)
const;
78 bool check_signature(
const Public_Key& key)
const;
95 std::string PEM_encode()
const;
103 {
return std::vector<std::string>(); }
117 static std::unique_ptr<PK_Signer>
120 std::string_view hash_fn,
121 std::string_view padding_algo);
133 virtual void force_decode() = 0;
136 std::vector<uint8_t> m_tbs_bits;
137 std::vector<uint8_t> m_sig;
const std::vector< uint8_t > & signed_body() const
const AlgorithmIdentifier & signature_algorithm() const
virtual ~X509_Object()=default
virtual std::vector< std::string > alternate_PEM_labels() const
const std::vector< uint8_t > & signature() const
virtual std::string PEM_label() const =0
X509_Object & operator=(const X509_Object &)=default
X509_Object(const X509_Object &)=default
#define BOTAN_PUBLIC_API(maj, min)
std::vector< T, secure_allocator< T > > secure_vector