47 std::unique_ptr<Public_Key> subject_public_key()
const;
59 std::unique_ptr<Public_Key> load_subject_public_key()
const;
66 const std::vector<uint8_t>& subject_public_key_bits()
const;
72 const std::vector<uint8_t>& subject_public_key_info()
const;
83 const std::vector<uint8_t>& subject_public_key_bitstring()
const;
91 const std::vector<uint8_t>& subject_public_key_bitstring_sha1()
const;
97 const X509_DN& issuer_dn()
const;
103 const X509_DN& subject_dn()
const;
119 std::vector<std::string> subject_info(std::string_view
name)
const;
127 std::vector<std::string> issuer_info(std::string_view
name)
const;
132 const std::vector<uint8_t>& raw_issuer_dn()
const;
137 std::vector<uint8_t> raw_issuer_dn_sha256()
const;
142 const std::vector<uint8_t>& raw_subject_dn()
const;
147 std::vector<uint8_t> raw_subject_dn_sha256()
const;
165 uint32_t x509_version()
const;
171 const std::vector<uint8_t>& serial_number()
const;
177 bool is_serial_negative()
const;
183 const std::vector<uint8_t>& authority_key_id()
const;
189 const std::vector<uint8_t>& subject_key_id()
const;
196 bool is_self_signed()
const;
202 bool is_CA_cert()
const;
218 bool allowed_extended_usage(std::string_view usage)
const;
226 bool allowed_extended_usage(
const OID& usage)
const;
247 bool has_ex_constraint(std::string_view ex_constraint)
const;
253 bool has_ex_constraint(
const OID& ex_constraint)
const;
260 uint32_t path_limit()
const;
266 bool is_critical(std::string_view ex_name)
const;
280 const std::vector<OID>& extended_key_usage()
const;
294 const std::vector<OID>& certificate_policy_oids()
const;
306 const std::vector<uint8_t>& v2_issuer_key_id()
const;
312 const std::vector<uint8_t>& v2_subject_key_id()
const;
327 std::string ocsp_responder()
const;
332 std::vector<std::string> ca_issuers()
const;
337 std::string crl_distribution_point()
const;
342 std::string to_string()
const;
348 std::string fingerprint(std::string_view hash_name =
"SHA-1")
const;
355 bool matches_dns_name(std::string_view
name)
const;
377#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM)
410 std::string PEM_label()
const override;
412 std::vector<std::string> alternate_PEM_labels()
const override;
414 void force_decode()
override;
416 const X509_Certificate_Data& data()
const;
418 std::shared_ptr<X509_Certificate_Data> m_data;