8#ifndef BOTAN_X509_CERTS_H_
9#define BOTAN_X509_CERTS_H_
11#include <botan/x509_obj.h>
31struct X509_Certificate_Data;
118 std::vector<std::string>
subject_info(std::string_view name)
const;
126 std::vector<std::string>
issuer_info(std::string_view name)
const;
368 std::string
fingerprint(std::string_view hash_name =
"SHA-1")
const;
400#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM)
435 std::string PEM_label()
const override;
437 std::vector<std::string> alternate_PEM_labels()
const override;
439 void force_decode()
override;
441 const X509_Certificate_Data& data()
const;
443 std::shared_ptr<X509_Certificate_Data> m_data;
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_DEPRECATED(msg)
const std::vector< OID > & extended_key_usage() const
Key_Constraints constraints() const
bool operator==(const X509_Certificate &other) const
const NameConstraints & name_constraints() const
X509_Certificate()=default
X509_Certificate(const X509_Certificate &other)=default
bool is_critical(std::string_view ex_name) const
const std::vector< uint8_t > & serial_number() const
std::string fingerprint(std::string_view hash_name="SHA-1") const
const X509_DN & subject_dn() const
std::vector< uint8_t > raw_subject_dn_sha256() const
uint32_t path_limit() const
const X509_Time & not_after() const
const std::vector< uint8_t > & authority_key_id() const
X509_Certificate & operator=(X509_Certificate &&other)=default
bool allowed_extended_usage(std::string_view usage) const
const AlternativeName & issuer_alt_name() const
const std::vector< uint8_t > & raw_subject_dn() const
X509_Certificate & operator=(const X509_Certificate &other)=default
const std::vector< uint8_t > & subject_key_id() const
~X509_Certificate() override
const std::vector< uint8_t > & subject_public_key_bits() const
bool has_constraints(Key_Constraints constraints) const
std::optional< size_t > path_length_constraint() const
X509_Certificate(X509_Certificate &&other)=default
const Extensions & v3_extensions() const
bool has_ex_constraint(std::string_view ex_constraint) const
std::vector< std::string > crl_distribution_points() const
const std::vector< uint8_t > & subject_public_key_bitstring_sha1() const
bool allowed_usage(Key_Constraints usage) const
const X509_DN & issuer_dn() const
const std::vector< uint8_t > & v2_issuer_key_id() const
std::string ocsp_responder() const
bool matches_dns_name(std::string_view name) const
std::vector< std::string > subject_info(std::string_view name) const
uint32_t x509_version() const
std::string crl_distribution_point() const
const std::vector< OID > & certificate_policy_oids() const
std::unique_ptr< Public_Key > load_subject_public_key() const
X509_Certificate(DataSource &source)
bool is_self_signed() const
const std::vector< uint8_t > & raw_issuer_dn() const
bool operator<(const X509_Certificate &other) const
const AlgorithmIdentifier & subject_public_key_algo() const
const AlternativeName & subject_alt_name() const
std::vector< std::string > ca_issuers() const
const std::vector< uint8_t > & subject_public_key_info() const
std::vector< uint8_t > raw_issuer_dn_sha256() const
bool is_serial_negative() const
const std::vector< uint8_t > & subject_public_key_bitstring() const
std::unique_ptr< Public_Key > subject_public_key() const
const std::vector< uint8_t > & v2_subject_key_id() const
const X509_Time & not_before() const
std::vector< std::string > issuer_info(std::string_view name) const
std::string to_string() const