39 virtual bool allow_ssl_key_log_file()
const;
45 virtual std::vector<std::string> allowed_ciphers()
const;
51 virtual std::vector<std::string> allowed_signature_hashes()
const;
56 virtual std::vector<std::string> allowed_macs()
const;
63 virtual std::vector<std::string> allowed_key_exchange_methods()
const;
69 virtual std::vector<std::string> allowed_signature_methods()
const;
71 virtual std::vector<Signature_Scheme> allowed_signature_schemes()
const;
76 virtual std::vector<Signature_Scheme> acceptable_signature_schemes()
const;
78 virtual std::optional<std::vector<Signature_Scheme>> acceptable_certificate_signature_schemes()
const;
87 virtual size_t minimum_signature_strength()
const;
94 virtual bool require_cert_revocation_info()
const;
96 bool allowed_signature_method(std::string_view sig_method)
const;
97 bool allowed_signature_hash(std::string_view hash)
const;
103 virtual std::vector<Group_Params> key_exchange_groups()
const;
115 virtual std::vector<Group_Params> key_exchange_groups_to_offer()
const;
126 virtual bool use_ecc_point_compression()
const;
138 virtual Group_Params choose_key_exchange_group(
const std::vector<Group_Params>& supported_by_peer,
139 const std::vector<Group_Params>& offered_by_peer)
const;
150 virtual bool allow_insecure_renegotiation()
const;
158 virtual bool include_time_in_hello_random()
const;
165 virtual bool allow_client_initiated_renegotiation()
const;
172 virtual bool allow_server_initiated_renegotiation()
const;
180 virtual bool abort_connection_on_undesired_renegotiation()
const;
182 virtual bool only_resume_with_exact_version()
const;
187 virtual bool allow_tls12()
const;
192 virtual bool allow_tls13()
const;
197 virtual bool allow_dtls12()
const;
208 virtual size_t minimum_dh_group_size()
const;
215 virtual size_t minimum_ecdsa_group_size()
const;
225 virtual size_t minimum_ecdh_group_size()
const;
238 virtual size_t minimum_rsa_bits()
const;
247 virtual void check_peer_key_acceptable(
const Public_Key& public_key)
const;
257 virtual bool hide_unknown_users()
const;
269 virtual size_t maximum_session_tickets_per_client_hello()
const;
278 virtual std::chrono::seconds session_ticket_lifetime()
const;
287 virtual bool reuse_session_tickets()
const;
299 virtual size_t new_session_tickets_upon_handshake_success()
const;
306 virtual std::vector<uint16_t> srtp_profiles()
const;
326 virtual bool acceptable_ciphersuite(
const Ciphersuite& suite)
const;
333 virtual bool server_uses_own_ciphersuite_preferences()
const;
341 virtual bool negotiate_encrypt_then_mac()
const;
355 virtual std::optional<uint16_t> record_size_limit()
const;
360 virtual bool support_cert_status_message()
const;
367 virtual bool require_client_certificate_authentication()
const;
373 virtual bool request_client_certificate_authentication()
const;
384 virtual std::vector<Certificate_Type> accepted_client_certificate_types()
const;
395 virtual std::vector<Certificate_Type> accepted_server_certificate_types()
const;
401 virtual bool allow_dtls_epoch0_restart()
const;
410 virtual std::vector<uint16_t> ciphersuite_list(
Protocol_Version version)
const;
415 virtual size_t dtls_default_mtu()
const;
420 virtual size_t dtls_initial_timeout()
const;
425 virtual size_t dtls_maximum_timeout()
const;
431 virtual size_t maximum_certificate_chain_size()
const;
436 virtual bool allow_resumption_for_renegotiation()
const;
448 virtual bool tls_13_middlebox_compatibility_mode()
const;
457 virtual bool hash_hello_random()
const;
463 virtual void print(std::ostream& o)
const;
469 std::string to_string()
const;
639 bool allow_ssl_key_log_file()
const override;
641 std::vector<std::string> allowed_ciphers()
const override;
643 std::vector<std::string> allowed_signature_hashes()
const override;
645 std::vector<std::string> allowed_macs()
const override;
647 std::vector<std::string> allowed_key_exchange_methods()
const override;
649 std::vector<std::string> allowed_signature_methods()
const override;
651 std::vector<Group_Params> key_exchange_groups()
const override;
653 std::vector<Group_Params> key_exchange_groups_to_offer()
const override;
655 bool use_ecc_point_compression()
const override;
657 bool allow_tls12()
const override;
659 bool allow_tls13()
const override;
661 bool allow_dtls12()
const override;
663 bool allow_insecure_renegotiation()
const override;
665 bool include_time_in_hello_random()
const override;
667 bool allow_client_initiated_renegotiation()
const override;
668 bool allow_server_initiated_renegotiation()
const override;
670 bool server_uses_own_ciphersuite_preferences()
const override;
672 bool negotiate_encrypt_then_mac()
const override;
674 std::optional<uint16_t> record_size_limit()
const override;
676 bool support_cert_status_message()
const override;
678 bool require_client_certificate_authentication()
const override;
680 std::vector<Certificate_Type> accepted_client_certificate_types()
const override;
681 std::vector<Certificate_Type> accepted_server_certificate_types()
const override;
683 size_t minimum_ecdh_group_size()
const override;
685 size_t minimum_ecdsa_group_size()
const override;
687 size_t minimum_dh_group_size()
const override;
689 size_t minimum_rsa_bits()
const override;
691 size_t minimum_signature_strength()
const override;
693 size_t dtls_default_mtu()
const override;
695 size_t dtls_initial_timeout()
const override;
697 size_t dtls_maximum_timeout()
const override;
699 bool require_cert_revocation_info()
const override;
701 bool hide_unknown_users()
const override;
703 size_t maximum_session_tickets_per_client_hello()
const override;
705 std::chrono::seconds session_ticket_lifetime()
const override;
707 bool reuse_session_tickets()
const override;
709 size_t new_session_tickets_upon_handshake_success()
const override;
711 bool tls_13_middlebox_compatibility_mode()
const override;
713 bool hash_hello_random()
const override;
715 std::vector<uint16_t> srtp_profiles()
const override;
717 void set(
const std::string& key,
const std::string& value);
724 std::vector<std::string> get_list(
const std::string& key,
const std::vector<std::string>& def)
const;
726 std::vector<Group_Params> read_group_list(std::string_view group_str)
const;
727 std::vector<Certificate_Type> read_cert_type_list(
const std::string& cert_type_str)
const;
729 size_t get_len(
const std::string& key,
size_t def)
const;
731 std::chrono::seconds get_duration(
const std::string& key, std::chrono::seconds def)
const;
733 bool get_bool(
const std::string& key,
bool def)
const;
735 std::string get_str(
const std::string& key,
const std::string& def =
"")
const;
737 bool set_value(
const std::string& key, std::string_view val,
bool overwrite);
740 std::map<std::string, std::string> m_kv;