184 virtual bool tls_should_persist_resumption_information(
const Session& session);
216 virtual void tls_verify_cert_chain(
const std::vector<X509_Certificate>& cert_chain,
217 const std::vector<std::optional<OCSP::Response>>& ocsp_responses,
218 const std::vector<Certificate_Store*>& trusted_roots,
220 std::string_view hostname,
249 virtual void tls_verify_raw_public_key(
const Public_Key& raw_public_key,
251 std::string_view hostname,
262 return std::chrono::milliseconds(0);
277 virtual std::vector<uint8_t> tls_provide_cert_status(
const std::vector<X509_Certificate>& chain,
293 virtual std::vector<std::vector<uint8_t>> tls_provide_cert_chain_status(
310 virtual std::vector<uint8_t> tls_sign_message(
const Private_Key& key,
312 std::string_view padding,
314 const std::vector<uint8_t>& msg);
330 virtual bool tls_verify_message(
const Public_Key& key,
331 std::string_view padding,
333 const std::vector<uint8_t>& msg,
334 const std::vector<uint8_t>& sig);
353 virtual std::unique_ptr<Public_Key> tls_deserialize_peer_public_key(
354 const std::variant<TLS::Group_Params, DL_Group>& group, std::span<const uint8_t> key_bits);
408 const std::vector<uint8_t>& encoded_public_key,
439 const std::vector<uint8_t>& encapsulated_bytes,
464 virtual std::unique_ptr<PK_Key_Agreement_Key> tls_generate_ephemeral_key(
494 virtual std::unique_ptr<PK_Key_Agreement_Key> tls12_generate_ephemeral_ecdh_key(
521 virtual secure_vector<uint8_t> tls_ephemeral_key_agreement(
const std::variant<TLS::Group_Params, DL_Group>& group,
523 const std::vector<uint8_t>& public_value,
560 virtual std::string tls_server_choose_app_protocol(
const std::vector<std::string>& client_protos);
594 virtual void tls_examine_extensions(
const Extensions& extn,
614 virtual std::optional<OCSP::Response> tls_parse_ocsp_response(
const std::vector<uint8_t>& raw_response);
626 virtual std::string tls_peer_network_identity();
637 virtual std::chrono::system_clock::time_point tls_current_timestamp();
643 virtual void tls_log_error(
const char* err);
649 virtual void tls_log_debug(
const char* what);
657 virtual void tls_log_debug_bin(
const char* descr,
const uint8_t val[],
size_t val_len);
675 virtual void tls_ssl_key_log_data(std::string_view label,
676 std::span<const uint8_t> client_random,
677 std::span<const uint8_t> secret)
const;