183 virtual bool tls_should_persist_resumption_information(
const Session& session);
215 virtual void tls_verify_cert_chain(
const std::vector<X509_Certificate>& cert_chain,
216 const std::vector<std::optional<OCSP::Response>>& ocsp_responses,
217 const std::vector<Certificate_Store*>& trusted_roots,
219 std::string_view hostname,
248 virtual void tls_verify_raw_public_key(
const Public_Key& raw_public_key,
250 std::string_view hostname,
261 return std::chrono::milliseconds(0);
276 virtual std::vector<uint8_t> tls_provide_cert_status(
const std::vector<X509_Certificate>& chain,
292 virtual std::vector<std::vector<uint8_t>> tls_provide_cert_chain_status(
309 virtual std::vector<uint8_t> tls_sign_message(
const Private_Key& key,
311 std::string_view padding,
313 const std::vector<uint8_t>& msg);
329 virtual bool tls_verify_message(
const Public_Key& key,
330 std::string_view padding,
332 const std::vector<uint8_t>& msg,
333 const std::vector<uint8_t>& sig);
352 virtual std::unique_ptr<Public_Key> tls_deserialize_peer_public_key(
353 const std::variant<TLS::Group_Params, DL_Group>& group, std::span<const uint8_t> key_bits);
407 const std::vector<uint8_t>& encoded_public_key,
438 const std::vector<uint8_t>& encapsulated_bytes,
463 virtual std::unique_ptr<PK_Key_Agreement_Key> tls_generate_ephemeral_key(
490 virtual secure_vector<uint8_t> tls_ephemeral_key_agreement(
const std::variant<TLS::Group_Params, DL_Group>& group,
492 const std::vector<uint8_t>& public_value,
529 virtual std::string tls_server_choose_app_protocol(
const std::vector<std::string>& client_protos);
563 virtual void tls_examine_extensions(
const Extensions& extn,
583 virtual std::optional<OCSP::Response> tls_parse_ocsp_response(
const std::vector<uint8_t>& raw_response);
595 virtual std::string tls_peer_network_identity();
606 virtual std::chrono::system_clock::time_point tls_current_timestamp();
612 virtual void tls_log_error(
const char* err);
618 virtual void tls_log_debug(
const char* what);
626 virtual void tls_log_debug_bin(
const char* descr,
const uint8_t val[],
size_t val_len);
644 virtual void tls_ssl_key_log_data(std::string_view label,
645 std::span<const uint8_t> client_random,
646 std::span<const uint8_t> secret)
const;