mbed TLS v2.16.1
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
include
mbedtls
ssl_ticket.h
Go to the documentation of this file.
1
6
/*
7
* Copyright (C) 2006-2015, ARM Limited, All Rights Reserved
8
* SPDX-License-Identifier: GPL-2.0
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License along
21
* with this program; if not, write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
23
*
24
* This file is part of mbed TLS (https://tls.mbed.org)
25
*/
26
#ifndef MBEDTLS_SSL_TICKET_H
27
#define MBEDTLS_SSL_TICKET_H
28
29
#if !defined(MBEDTLS_CONFIG_FILE)
30
#include "
config.h
"
31
#else
32
#include MBEDTLS_CONFIG_FILE
33
#endif
34
35
/*
36
* This implementation of the session ticket callbacks includes key
37
* management, rotating the keys periodically in order to preserve forward
38
* secrecy, when MBEDTLS_HAVE_TIME is defined.
39
*/
40
41
#include "
ssl.h
"
42
#include "
cipher.h
"
43
44
#if defined(MBEDTLS_THREADING_C)
45
#include "
threading.h
"
46
#endif
47
48
#ifdef __cplusplus
49
extern
"C"
{
50
#endif
51
55
typedef
struct
mbedtls_ssl_ticket_key
56
{
57
unsigned
char
name
[4];
58
uint32_t
generation_time
;
59
mbedtls_cipher_context_t
ctx
;
60
}
61
mbedtls_ssl_ticket_key
;
62
66
typedef
struct
mbedtls_ssl_ticket_context
67
{
68
mbedtls_ssl_ticket_key
keys
[2];
69
unsigned
char
active
;
71
uint32_t
ticket_lifetime
;
74
int (*
f_rng
)(
void
*,
unsigned
char
*, size_t);
75
void
*
p_rng
;
77
#if defined(MBEDTLS_THREADING_C)
78
mbedtls_threading_mutex_t mutex;
79
#endif
80
}
81
mbedtls_ssl_ticket_context
;
82
90
void
mbedtls_ssl_ticket_init
(
mbedtls_ssl_ticket_context
*ctx );
91
114
int
mbedtls_ssl_ticket_setup
(
mbedtls_ssl_ticket_context
*ctx,
115
int
(*f_rng)(
void
*,
unsigned
char
*,
size_t
),
void
*p_rng,
116
mbedtls_cipher_type_t
cipher,
117
uint32_t lifetime );
118
124
mbedtls_ssl_ticket_write_t
mbedtls_ssl_ticket_write
;
125
131
mbedtls_ssl_ticket_parse_t
mbedtls_ssl_ticket_parse
;
132
138
void
mbedtls_ssl_ticket_free
(
mbedtls_ssl_ticket_context
*ctx );
139
140
#ifdef __cplusplus
141
}
142
#endif
143
144
#endif
/* ssl_ticket.h */
Generated on Tue Aug 13 2019 20:47:27 for mbed TLS v2.16.1 by
1.8.3.1