9#ifndef BOTAN_TLS_CLIENT_H_
10#define BOTAN_TLS_CLIENT_H_
12#include <botan/tls_channel.h>
13#include <botan/tls_policy.h>
14#include <botan/credentials_manager.h>
59 const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(),
60 const std::vector<std::string>& next_protocols = {},
61 size_t reserved_io_buffer_size = TLS::Client::IO_BUF_DEFAULT_SIZE
98 BOTAN_DEPRECATED(
"Use TLS::Client(TLS::Callbacks ...)")
108 const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(),
109 const std::vector<std::string>& next_protocols = {},
110 size_t reserved_io_buffer_size = TLS::Client::IO_BUF_DEFAULT_SIZE
117 BOTAN_DEPRECATED(
"Use TLS::Client(TLS::Callbacks ...)")
128 const Protocol_Version& offer_version = Protocol_Version::latest_tls_version(),
129 const std::vector<std::string>& next_protocols = {}
138 const std::vector<std::string>& next_protocols);
140 std::vector<X509_Certificate>
144 bool force_full_renegotiation)
override;
147 bool force_full_renegotiation,
149 const std::string& srp_identifier =
"",
150 const std::vector<std::string>& next_protocols = {});
152 void process_handshake_msg(
const Handshake_State* active_state,
153 Handshake_State& pending_state,
155 const std::vector<uint8_t>& contents,
156 bool epoch0_restart)
override;
158 Handshake_State* new_handshake_state(Handshake_IO* io)
override;
161 const Server_Information m_info;
162 std::string m_application_protocol;
std::function< bool(const Session &)> handshake_cb
std::function< void(Alert, const uint8_t[], size_t)> alert_cb
std::function< void(const Handshake_Message &)> handshake_msg_cb
std::function< void(const uint8_t[], size_t)> output_fn
std::function< void(const uint8_t[], size_t)> data_cb
std::string application_protocol() const override
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)