51 const std::shared_ptr<Credentials_Manager>& creds,
52 const std::shared_ptr<const Policy>&
policy,
53 const std::shared_ptr<RandomNumberGenerator>&
rng,
54 bool is_datagram =
false,
66 std::string application_protocol()
const override {
return m_next_protocol; }
68 std::vector<X509_Certificate> get_peer_cert_chain(
const Handshake_State& state)
const override;
70 void initiate_handshake(
Handshake_State& state,
bool force_full_renegotiation)
override;
75 const std::vector<uint8_t>& contents,
76 bool epoch0_restart)
override;
79 Server_Handshake_State& pending_state,
80 const std::vector<uint8_t>& contents,
83 void process_certificate_msg(Server_Handshake_State& pending_state,
const std::vector<uint8_t>& contents);
85 void process_client_key_exchange_msg(Server_Handshake_State& pending_state,
const std::vector<uint8_t>& contents);
87 void process_change_cipher_spec_msg(Server_Handshake_State& pending_state);
89 void process_certificate_verify_msg(Server_Handshake_State& pending_state,
91 const std::vector<uint8_t>& contents);
93 void process_finished_msg(Server_Handshake_State& pending_state,
95 const std::vector<uint8_t>& contents);
97 void session_resume(Server_Handshake_State& pending_state,
const Session_with_Handle& session_info);
99 void session_create(Server_Handshake_State& pending_state);
101 std::unique_ptr<Handshake_State> new_handshake_state(std::unique_ptr<Handshake_IO> io)
override;
103 std::shared_ptr<Credentials_Manager> m_creds;
104 std::string m_next_protocol;
Server_Impl_12(const std::shared_ptr< Callbacks > &callbacks, const std::shared_ptr< Session_Manager > &session_manager, const std::shared_ptr< Credentials_Manager > &creds, const std::shared_ptr< const Policy > &policy, const std::shared_ptr< RandomNumberGenerator > &rng, bool is_datagram=false, size_t reserved_io_buffer_size=TLS::Channel::IO_BUF_DEFAULT_SIZE)