Botan
3.11.0
Crypto and TLS for C&
src
lib
tls
tls_magic.cpp
Go to the documentation of this file.
1
/*
2
* TLS Magic Values
3
* (C) 2004-2006,2011,2012,2015,2016 Jack Lloyd
4
* 2026 René Meusel - Rohde & Schwarz Cybersecurity
5
*
6
* Botan is released under the Simplified BSD License (see license.txt)
7
*/
8
9
#include <botan/tls_magic.h>
10
11
#include <botan/tls_exceptn.h>
12
13
namespace
Botan::TLS
{
14
15
const
char
*
handshake_type_to_string
(
Handshake_Type
type) {
16
switch
(type) {
17
case
Handshake_Type::HelloVerifyRequest
:
18
return
"hello_verify_request"
;
19
20
case
Handshake_Type::HelloRequest
:
21
return
"hello_request"
;
22
23
case
Handshake_Type::ClientHello
:
24
return
"client_hello"
;
25
26
case
Handshake_Type::ServerHello
:
27
return
"server_hello"
;
28
29
case
Handshake_Type::HelloRetryRequest
:
30
return
"hello_retry_request"
;
31
32
case
Handshake_Type::Certificate
:
33
return
"certificate"
;
34
35
case
Handshake_Type::CertificateUrl
:
36
return
"certificate_url"
;
37
38
case
Handshake_Type::CertificateStatus
:
39
return
"certificate_status"
;
40
41
case
Handshake_Type::ServerKeyExchange
:
42
return
"server_key_exchange"
;
43
44
case
Handshake_Type::CertificateRequest
:
45
return
"certificate_request"
;
46
47
case
Handshake_Type::ServerHelloDone
:
48
return
"server_hello_done"
;
49
50
case
Handshake_Type::CertificateVerify
:
51
return
"certificate_verify"
;
52
53
case
Handshake_Type::ClientKeyExchange
:
54
return
"client_key_exchange"
;
55
56
case
Handshake_Type::NewSessionTicket
:
57
return
"new_session_ticket"
;
58
59
case
Handshake_Type::HandshakeCCS
:
60
return
"change_cipher_spec"
;
61
62
case
Handshake_Type::Finished
:
63
return
"finished"
;
64
65
case
Handshake_Type::EndOfEarlyData
:
66
return
"end_of_early_data"
;
67
68
case
Handshake_Type::EncryptedExtensions
:
69
return
"encrypted_extensions"
;
70
71
case
Handshake_Type::KeyUpdate
:
72
return
"key_update"
;
73
74
case
Handshake_Type::None
:
75
return
"invalid"
;
76
}
77
78
throw
TLS_Exception
(Alert::UnexpectedMessage,
79
"Unknown TLS handshake message type "
+ std::to_string(
static_cast<
size_t
>
(type)));
80
}
81
82
}
// namespace Botan::TLS
Botan::TLS::TLS_Exception
Definition
tls_exceptn.h:19
Botan::TLS
Definition
asio_context.cpp:18
Botan::TLS::handshake_type_to_string
const char * handshake_type_to_string(Handshake_Type type)
Definition
tls_magic.cpp:15
Botan::TLS::Handshake_Type
Handshake_Type
Definition
tls_magic.h:63
Botan::TLS::Handshake_Type::HelloRequest
@ HelloRequest
Definition
tls_magic.h:64
Botan::TLS::Handshake_Type::HelloRetryRequest
@ HelloRetryRequest
Definition
tls_magic.h:86
Botan::TLS::Handshake_Type::CertificateUrl
@ CertificateUrl
Definition
tls_magic.h:81
Botan::TLS::Handshake_Type::None
@ None
Definition
tls_magic.h:88
Botan::TLS::Handshake_Type::ClientHello
@ ClientHello
Definition
tls_magic.h:65
Botan::TLS::Handshake_Type::ServerHelloDone
@ ServerHelloDone
Definition
tls_magic.h:76
Botan::TLS::Handshake_Type::CertificateStatus
@ CertificateStatus
Definition
tls_magic.h:82
Botan::TLS::Handshake_Type::HandshakeCCS
@ HandshakeCCS
Definition
tls_magic.h:87
Botan::TLS::Handshake_Type::Finished
@ Finished
Definition
tls_magic.h:79
Botan::TLS::Handshake_Type::CertificateVerify
@ CertificateVerify
Definition
tls_magic.h:77
Botan::TLS::Handshake_Type::KeyUpdate
@ KeyUpdate
Definition
tls_magic.h:84
Botan::TLS::Handshake_Type::ClientKeyExchange
@ ClientKeyExchange
Definition
tls_magic.h:78
Botan::TLS::Handshake_Type::EndOfEarlyData
@ EndOfEarlyData
Definition
tls_magic.h:70
Botan::TLS::Handshake_Type::HelloVerifyRequest
@ HelloVerifyRequest
Definition
tls_magic.h:67
Botan::TLS::Handshake_Type::CertificateRequest
@ CertificateRequest
Definition
tls_magic.h:75
Botan::TLS::Handshake_Type::NewSessionTicket
@ NewSessionTicket
Definition
tls_magic.h:68
Botan::TLS::Handshake_Type::ServerHello
@ ServerHello
Definition
tls_magic.h:66
Botan::TLS::Handshake_Type::Certificate
@ Certificate
Definition
tls_magic.h:73
Botan::TLS::Handshake_Type::ServerKeyExchange
@ ServerKeyExchange
Definition
tls_magic.h:74
Botan::TLS::Handshake_Type::EncryptedExtensions
@ EncryptedExtensions
Definition
tls_magic.h:71
Generated by
1.15.0