8 #include <botan/tls_callbacks.h>
9 #include <botan/tls_policy.h>
10 #include <botan/x509path.h>
11 #include <botan/ocsp.h>
12 #include <botan/certstor.h>
27 const std::vector<X509_Certificate>& cert_chain,
28 const std::vector<std::shared_ptr<const OCSP::Response>>& ocsp_responses,
29 const std::vector<Certificate_Store*>& trusted_roots,
31 const std::string& hostname,
34 if(cert_chain.empty())
46 std::chrono::system_clock::now(),
47 tls_verify_cert_chain_ocsp_timeout(),
50 if(!result.successful_validation())
51 throw Exception(
"Certificate validation failure: " + result.result_string());
virtual bool require_cert_revocation_info() const
virtual std::string tls_server_choose_app_protocol(const std::vector< std::string > &client_protos)
virtual void tls_verify_cert_chain(const std::vector< X509_Certificate > &cert_chain, const std::vector< std::shared_ptr< const OCSP::Response >> &ocsp_responses, const std::vector< Certificate_Store * > &trusted_roots, Usage_Type usage, const std::string &hostname, const TLS::Policy &policy)
Path_Validation_Result x509_path_validate(const std::vector< X509_Certificate > &end_certs, const Path_Validation_Restrictions &restrictions, const std::vector< Certificate_Store * > &trusted_roots, const std::string &hostname, Usage_Type usage, std::chrono::system_clock::time_point ref_time, std::chrono::milliseconds ocsp_timeout, const std::vector< std::shared_ptr< const OCSP::Response >> &ocsp_resp)
virtual size_t minimum_signature_strength() const
virtual void tls_inspect_handshake_msg(const Handshake_Message &message)