196 virtual bool tls_should_persist_resumption_information(
const Session& session);
228 virtual void tls_verify_cert_chain(
const std::vector<X509_Certificate>& cert_chain,
229 const std::vector<std::optional<OCSP::Response>>& ocsp_responses,
230 const std::vector<Certificate_Store*>& trusted_roots,
232 std::string_view hostname,
261 virtual void tls_verify_raw_public_key(
const Public_Key& raw_public_key,
263 std::string_view hostname,
276 return std::chrono::milliseconds(0);
291 virtual std::vector<uint8_t> tls_provide_cert_status(
const std::vector<X509_Certificate>& chain,
307 virtual std::vector<std::vector<uint8_t>> tls_provide_cert_chain_status(
324 virtual std::vector<uint8_t> tls_sign_message(
const Private_Key& key,
326 std::string_view padding,
328 const std::vector<uint8_t>& msg);
344 virtual bool tls_verify_message(
const Public_Key& key,
345 std::string_view padding,
347 const std::vector<uint8_t>& msg,
348 const std::vector<uint8_t>& sig);
367 virtual std::unique_ptr<Public_Key> tls_deserialize_peer_public_key(
368 const std::variant<TLS::Group_Params, DL_Group>& group, std::span<const uint8_t> key_bits);
426 const std::vector<uint8_t>& encoded_public_key,
459 const std::vector<uint8_t>& encapsulated_bytes,
484 virtual std::unique_ptr<PK_Key_Agreement_Key> tls_generate_ephemeral_key(
514 virtual std::unique_ptr<PK_Key_Agreement_Key> tls12_generate_ephemeral_ecdh_key(
543 virtual secure_vector<uint8_t> tls_ephemeral_key_agreement(
const std::variant<TLS::Group_Params, DL_Group>& group,
545 const std::vector<uint8_t>& public_value,
582 virtual std::string tls_server_choose_app_protocol(
const std::vector<std::string>& client_protos);
616 virtual void tls_examine_extensions(
const Extensions& extn,
638 virtual std::optional<OCSP::Response> tls_parse_ocsp_response(
const std::vector<uint8_t>& raw_response);
650 virtual std::string tls_peer_network_identity();
663 virtual std::chrono::system_clock::time_point tls_current_timestamp();
671 virtual void tls_log_error(
const char* err);
679 virtual void tls_log_debug(
const char* what);
689 virtual void tls_log_debug_bin(
const char* descr,
const uint8_t val[],
size_t val_len);
707 virtual void tls_ssl_key_log_data(std::string_view label,
708 std::span<const uint8_t> client_random,
709 std::span<const uint8_t> secret)
const;
723 virtual std::unique_ptr<KDF> tls12_protocol_specific_kdf(std::string_view prf_algo)
const;