Botan
1.10.17
src
ssl
tls_session_key.h
Go to the documentation of this file.
1
/*
2
* TLS Session Key
3
* (C) 2004-2006 Jack Lloyd
4
*
5
* Released under the terms of the Botan license
6
*/
7
8
#ifndef BOTAN_TLS_SESSION_KEYS_H__
9
#define BOTAN_TLS_SESSION_KEYS_H__
10
11
#include <botan/tls_suites.h>
12
#include <botan/tls_exceptn.h>
13
#include <botan/symkey.h>
14
15
namespace
Botan
{
16
17
/**
18
* TLS Session Keys
19
*/
20
class
BOTAN_DLL
SessionKeys
21
{
22
public
:
23
SymmetricKey
client_cipher_key
()
const
;
24
SymmetricKey
server_cipher_key
()
const
;
25
26
SymmetricKey
client_mac_key
()
const
;
27
SymmetricKey
server_mac_key
()
const
;
28
29
InitializationVector
client_iv
()
const
;
30
InitializationVector
server_iv
()
const
;
31
32
SecureVector<byte>
master_secret
()
const
;
33
34
SessionKeys
() {}
35
SessionKeys
(
const
CipherSuite
&,
Version_Code
,
const
MemoryRegion<byte>
&,
36
const
MemoryRegion<byte>
&,
const
MemoryRegion<byte>
&);
37
private
:
38
SymmetricKey
ssl3_keygen(
size_t
,
const
MemoryRegion<byte>
&,
39
const
MemoryRegion<byte>
&,
40
const
MemoryRegion<byte>
&);
41
SymmetricKey
tls1_keygen(
size_t
,
const
MemoryRegion<byte>
&,
42
const
MemoryRegion<byte>
&,
43
const
MemoryRegion<byte>
&);
44
45
SecureVector<byte>
master_sec;
46
SymmetricKey
c_cipher, s_cipher, c_mac, s_mac;
47
InitializationVector
c_iv, s_iv;
48
};
49
50
}
51
52
#endif
Botan::CipherSuite
Definition
tls_suites.h:21
Botan::MemoryRegion
Definition
secmem.h:22
Botan::SecureVector
Definition
secmem.h:329
Botan::SessionKeys
Definition
tls_session_key.h:21
Botan::SessionKeys::client_iv
InitializationVector client_iv() const
Definition
tls_session_key.cpp:50
Botan::SessionKeys::SessionKeys
SessionKeys()
Definition
tls_session_key.h:34
Botan::SessionKeys::server_mac_key
SymmetricKey server_mac_key() const
Definition
tls_session_key.cpp:42
Botan::SessionKeys::server_cipher_key
SymmetricKey server_cipher_key() const
Definition
tls_session_key.cpp:26
Botan::SessionKeys::server_iv
InitializationVector server_iv() const
Definition
tls_session_key.cpp:58
Botan::SessionKeys::master_secret
SecureVector< byte > master_secret() const
Definition
tls_session_key.cpp:66
Botan::SessionKeys::client_cipher_key
SymmetricKey client_cipher_key() const
Definition
tls_session_key.cpp:18
Botan::SessionKeys::client_mac_key
SymmetricKey client_mac_key() const
Definition
tls_session_key.cpp:34
Botan
Definition
algo_base.h:14
Botan::SymmetricKey
OctetString SymmetricKey
Definition
symkey.h:147
Botan::InitializationVector
OctetString InitializationVector
Definition
symkey.h:152
Botan::Version_Code
Version_Code
Definition
tls_magic.h:22
Generated by
1.18.0