Botan: Botan::Handshake_State Class Reference

Botan 1.10.16

Public Member Functions | Public Attributes | List of all members
Botan::Handshake_State Class Reference

`#include <tls_state.h>`

## Public Member Functions
| Handshake_State ()
| ~Handshake_State ()

## Public Attributes
Certificate_Req * | cert_req
Certificate * | client_certs
Finished * | client_finished
Client_Hello * | client_hello
Client_Key_Exchange * | client_kex
Certificate_Verify * | client_verify
bool | do_client_auth
bool | got_client_ccs
bool | got_server_ccs
HandshakeHash | hash
Private_Key * | kex_priv
Public_Key * | kex_pub
SessionKeys | keys
SecureQueue | queue
Certificate * | server_certs
Finished * | server_finished
Server_Hello * | server_hello
Server_Hello_Done * | server_hello_done
Server_Key_Exchange * | server_kex
CipherSuite | suite
Version_Code | version

## Detailed Description

SSL/TLS Handshake State

Definition at line 19 of file tls_state.h.

## Constructor & Destructor Documentation

## ◆ Handshake_State()

Botan::Handshake_State::Handshake_State | ( |  | ) |

Initialize the SSL/TLS Handshake State

Definition at line 15 of file tls_state.cpp.

References cert_req, client_certs, client_finished, client_hello, client_kex, client_verify, do_client_auth, got_client_ccs, got_server_ccs, kex_priv, kex_pub, server_certs, server_finished, server_hello, server_hello_done, server_kex, Botan::SSL_V3, and version.

16 {
17 client_hello = 0;
18 server_hello = 0;
19 server_certs = 0;
20 server_kex = 0;
21 cert_req = 0;
22 server_hello_done = 0;
23
24 client_certs = 0;
25 client_kex = 0;
26 client_verify = 0;
27 client_finished = 0;
28 server_finished = 0;
29
30 kex_pub = 0;
31 kex_priv = 0;
32
33 do_client_auth = got_client_ccs = got_server_ccs = false;
34 version = SSL_V3;
35 }
Botan::Handshake_State::client_hello
Client_Hello * client_hello
Definition: tls_state.h:22
Botan::Handshake_State::do_client_auth
bool do_client_auth
Definition: tls_state.h:45
Botan::Handshake_State::client_kex
Client_Key_Exchange * client_kex
Definition: tls_state.h:30
Botan::Handshake_State::server_kex
Server_Key_Exchange * server_kex
Definition: tls_state.h:25
Botan::Handshake_State::got_server_ccs
bool got_server_ccs
Definition: tls_state.h:45
Botan::Handshake_State::version
Version_Code version
Definition: tls_state.h:44
Botan::Handshake_State::got_client_ccs
bool got_client_ccs
Definition: tls_state.h:45
Botan::Handshake_State::kex_priv
Private_Key * kex_priv
Definition: tls_state.h:36
Botan::Handshake_State::client_verify
Certificate_Verify * client_verify
Definition: tls_state.h:31
Botan::Handshake_State::server_hello_done
Server_Hello_Done * server_hello_done
Definition: tls_state.h:27
Botan::Handshake_State::server_hello
Server_Hello * server_hello
Definition: tls_state.h:23
Botan::Handshake_State::client_certs
Certificate * client_certs
Definition: tls_state.h:29
Botan::Handshake_State::cert_req
Certificate_Req * cert_req
Definition: tls_state.h:26
Botan::SSL_V3
Definition: tls_magic.h:24
Botan::Handshake_State::kex_pub
Public_Key * kex_pub
Definition: tls_state.h:35
Botan::Handshake_State::server_finished
Finished * server_finished
Definition: tls_state.h:33
Botan::Handshake_State::client_finished
Finished * client_finished
Definition: tls_state.h:32
Botan::Handshake_State::server_certs
Certificate * server_certs
Definition: tls_state.h:24

## ◆ ~Handshake_State()

Botan::Handshake_State::~Handshake_State | ( |  | ) |

Destroy the SSL/TLS Handshake State

Definition at line 40 of file tls_state.cpp.

References cert_req, client_certs, client_finished, client_hello, client_kex, client_verify, kex_priv, kex_pub, server_certs, server_finished, server_hello, server_hello_done, and server_kex.

41 {
42 delete client_hello;
43 delete server_hello;
44 delete server_certs;
45 delete server_kex;
46 delete cert_req;
47 delete server_hello_done;
48
49 delete client_certs;
50 delete client_kex;
51 delete client_verify;
52 delete client_finished;
53 delete server_finished;
54
55 delete kex_pub;
56 delete kex_priv;
57 }
Botan::Handshake_State::client_hello
Client_Hello * client_hello
Definition: tls_state.h:22
Botan::Handshake_State::client_kex
Client_Key_Exchange * client_kex
Definition: tls_state.h:30
Botan::Handshake_State::server_kex
Server_Key_Exchange * server_kex
Definition: tls_state.h:25
Botan::Handshake_State::kex_priv
Private_Key * kex_priv
Definition: tls_state.h:36
Botan::Handshake_State::client_verify
Certificate_Verify * client_verify
Definition: tls_state.h:31
Botan::Handshake_State::server_hello_done
Server_Hello_Done * server_hello_done
Definition: tls_state.h:27
Botan::Handshake_State::server_hello
Server_Hello * server_hello
Definition: tls_state.h:23
Botan::Handshake_State::client_certs
Certificate * client_certs
Definition: tls_state.h:29
Botan::Handshake_State::cert_req
Certificate_Req * cert_req
Definition: tls_state.h:26
Botan::Handshake_State::kex_pub
Public_Key * kex_pub
Definition: tls_state.h:35
Botan::Handshake_State::server_finished
Finished * server_finished
Definition: tls_state.h:33
Botan::Handshake_State::client_finished
Finished * client_finished
Definition: tls_state.h:32
Botan::Handshake_State::server_certs
Certificate * server_certs
Definition: tls_state.h:24

## Member Data Documentation

## ◆ cert_req

Certificate_Req* Botan::Handshake_State::cert_req

Definition at line 26 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ client_certs

Certificate* Botan::Handshake_State::client_certs

Definition at line 29 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ client_finished

Finished* Botan::Handshake_State::client_finished

Definition at line 32 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ client_hello

Client_Hello* Botan::Handshake_State::client_hello

Definition at line 22 of file tls_state.h.

Referenced by Handshake_State(), Botan::TLS_Client::is_closed(), and ~Handshake_State().

## ◆ client_kex

Client_Key_Exchange* Botan::Handshake_State::client_kex

Definition at line 30 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ client_verify

Certificate_Verify* Botan::Handshake_State::client_verify

Definition at line 31 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ do_client_auth

bool Botan::Handshake_State::do_client_auth

Definition at line 45 of file tls_state.h.

Referenced by Handshake_State().

## ◆ got_client_ccs

bool Botan::Handshake_State::got_client_ccs

Definition at line 45 of file tls_state.h.

Referenced by Handshake_State().

## ◆ got_server_ccs

bool Botan::Handshake_State::got_server_ccs

Definition at line 45 of file tls_state.h.

Referenced by Handshake_State().

## ◆ hash

HandshakeHash Botan::Handshake_State::hash

Definition at line 40 of file tls_state.h.

## ◆ kex_priv

Private_Key* Botan::Handshake_State::kex_priv

Definition at line 36 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ kex_pub

Public_Key* Botan::Handshake_State::kex_pub

Definition at line 35 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ keys

SessionKeys Botan::Handshake_State::keys

Definition at line 39 of file tls_state.h.

## ◆ queue

SecureQueue Botan::Handshake_State::queue

Definition at line 42 of file tls_state.h.

Referenced by Botan::TLS_Server::close().

## ◆ server_certs

Certificate* Botan::Handshake_State::server_certs

Definition at line 24 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ server_finished

Finished* Botan::Handshake_State::server_finished

Definition at line 33 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ server_hello

Server_Hello* Botan::Handshake_State::server_hello

Definition at line 23 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ server_hello_done

Server_Hello_Done* Botan::Handshake_State::server_hello_done

Definition at line 27 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ server_kex

Server_Key_Exchange* Botan::Handshake_State::server_kex

Definition at line 25 of file tls_state.h.

Referenced by Handshake_State(), and ~Handshake_State().

## ◆ suite

CipherSuite Botan::Handshake_State::suite

Definition at line 38 of file tls_state.h.

## ◆ version

Version_Code Botan::Handshake_State::version

Definition at line 44 of file tls_state.h.

Referenced by Handshake_State().

The documentation for this class was generated from the following files:

- src/ssl/tls_state.h
- src/ssl/tls_state.cpp