49 const std::shared_ptr<Credentials_Manager>& creds,
50 const std::shared_ptr<const Policy>&
policy,
51 const std::shared_ptr<RandomNumberGenerator>&
rng,
52 bool is_datagram =
false,
66 std::vector<X509_Certificate> get_peer_cert_chain(
const Handshake_State& state)
const override;
68 void initiate_handshake(
Handshake_State& state,
bool force_full_renegotiation)
override;
73 const std::vector<uint8_t>& contents,
74 bool epoch0_restart)
override;
77 Server_Handshake_State& pending_state,
78 const std::vector<uint8_t>& contents,
81 void process_certificate_msg(Server_Handshake_State& pending_state,
const std::vector<uint8_t>& contents);
83 void process_client_key_exchange_msg(Server_Handshake_State& pending_state,
const std::vector<uint8_t>& contents);
85 void process_change_cipher_spec_msg(Server_Handshake_State& pending_state);
87 void process_certificate_verify_msg(Server_Handshake_State& pending_state,
89 const std::vector<uint8_t>& contents);
91 void process_finished_msg(Server_Handshake_State& pending_state,
93 const std::vector<uint8_t>& contents);
95 void session_resume(Server_Handshake_State& pending_state,
const Session_with_Handle& session_info);
97 void session_create(Server_Handshake_State& pending_state);
99 std::unique_ptr<Handshake_State> new_handshake_state(std::unique_ptr<Handshake_IO> io)
override;
101 std::shared_ptr<Credentials_Manager> m_creds;
102 std::string m_next_protocol;
Channel_Impl_12(const std::shared_ptr< Callbacks > &callbacks, const std::shared_ptr< Session_Manager > &session_manager, const std::shared_ptr< RandomNumberGenerator > &rng, const std::shared_ptr< const Policy > &policy, bool is_server, bool is_datagram, size_t io_buf_sz=TLS::Channel::IO_BUF_DEFAULT_SIZE)
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)