8#ifndef BOTAN_X509_OBJECT_H_
9#define BOTAN_X509_OBJECT_H_
11#include <botan/asn1_obj.h>
12#include <botan/pkix_enums.h>
35 std::vector<uint8_t>
tbs_data()
const;
40 const std::vector<uint8_t>&
signature()
const {
return m_sig; }
45 const std::vector<uint8_t>&
signed_body()
const {
return m_tbs_bits; }
60 static std::vector<uint8_t> make_signed(
PK_Signer& signer,
80 bool check_signature(
const Public_Key& key)
const;
97 std::string PEM_encode()
const;
113 static std::unique_ptr<PK_Signer> choose_sig_format(
const Private_Key& key,
115 std::string_view hash_fn,
116 std::string_view padding_algo);
127 virtual void force_decode() = 0;
130 std::vector<uint8_t> m_tbs_bits;
131 std::vector<uint8_t> m_sig;
#define BOTAN_PUBLIC_API(maj, min)
const std::vector< uint8_t > & signed_body() const
const AlgorithmIdentifier & signature_algorithm() const
virtual std::vector< std::string > alternate_PEM_labels() const
std::vector< uint8_t > tbs_data() const
const std::vector< uint8_t > & signature() const
void load_data(DataSource &src)
virtual std::string PEM_label() const =0
bool verify_signature(std::span< const uint8_t, ED448_LEN > pk, bool phflag, std::span< const uint8_t > context, std::span< const uint8_t > sig, std::span< const uint8_t > msg)
Verify a signature(RFC 8032 5.2.7)
std::vector< T, secure_allocator< T > > secure_vector