Mbed TLS v3.6.7
Toggle main menu visibility
Loading...
Searching...
No Matches
ssl_cookie.h
Go to the documentation of this file.
1
6
/*
7
* Copyright The Mbed TLS Contributors
8
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
9
*/
10
#ifndef MBEDTLS_SSL_COOKIE_H
11
#define MBEDTLS_SSL_COOKIE_H
12
#include "
mbedtls/private_access.h
"
13
14
#include "
mbedtls/build_info.h
"
15
16
#include "
mbedtls/ssl.h
"
17
18
#if !defined(MBEDTLS_USE_PSA_CRYPTO)
19
#if defined(MBEDTLS_THREADING_C)
20
#include "
mbedtls/threading.h
"
21
#endif
22
#endif
/* !MBEDTLS_USE_PSA_CRYPTO */
23
31
#ifndef MBEDTLS_SSL_COOKIE_TIMEOUT
32
#define MBEDTLS_SSL_COOKIE_TIMEOUT 60
33
#endif
34
36
37
#ifdef __cplusplus
38
extern
"C"
{
39
#endif
40
44
typedef
struct
mbedtls_ssl_cookie_ctx
{
45
#if defined(MBEDTLS_USE_PSA_CRYPTO)
46
mbedtls_svc_key_id_t
MBEDTLS_PRIVATE
(psa_hmac_key);
47
psa_algorithm_t
MBEDTLS_PRIVATE
(psa_hmac_alg);
48
#else
49
mbedtls_md_context_t
MBEDTLS_PRIVATE
(hmac_ctx);
50
#endif
/* MBEDTLS_USE_PSA_CRYPTO */
51
#if !defined(MBEDTLS_HAVE_TIME)
52
unsigned
long
MBEDTLS_PRIVATE
(serial);
53
#endif
54
unsigned
long
MBEDTLS_PRIVATE
(timeout);
56
57
#if !defined(MBEDTLS_USE_PSA_CRYPTO)
58
#if defined(MBEDTLS_THREADING_C)
59
mbedtls_threading_mutex_t
MBEDTLS_PRIVATE
(mutex);
60
#endif
61
#endif
/* !MBEDTLS_USE_PSA_CRYPTO */
62
}
mbedtls_ssl_cookie_ctx
;
63
67
void
mbedtls_ssl_cookie_init
(
mbedtls_ssl_cookie_ctx
*ctx);
68
72
int
mbedtls_ssl_cookie_setup
(
mbedtls_ssl_cookie_ctx
*ctx,
73
mbedtls_f_rng_t
*f_rng,
74
void
*p_rng);
75
85
void
mbedtls_ssl_cookie_set_timeout
(
mbedtls_ssl_cookie_ctx
*ctx,
unsigned
long
delay);
86
90
void
mbedtls_ssl_cookie_free
(
mbedtls_ssl_cookie_ctx
*ctx);
91
95
mbedtls_ssl_cookie_write_t
mbedtls_ssl_cookie_write
;
96
100
mbedtls_ssl_cookie_check_t
mbedtls_ssl_cookie_check
;
101
102
#ifdef __cplusplus
103
}
104
#endif
105
106
#endif
/* ssl_cookie.h */
psa_algorithm_t
uint32_t psa_algorithm_t
Encoding of a cryptographic algorithm.
Definition
crypto_types.h:134
mbedtls_svc_key_id_t
psa_key_id_t mbedtls_svc_key_id_t
Definition
crypto_types.h:292
build_info.h
Build-time configuration info.
mbedtls_f_rng_t
int mbedtls_f_rng_t(void *p_rng, unsigned char *output, size_t output_size)
The type of custom random generator (RNG) callbacks.
Definition
platform_util.h:209
private_access.h
Macro wrapper for struct's members.
MBEDTLS_PRIVATE
#define MBEDTLS_PRIVATE(member)
Definition
private_access.h:15
ssl.h
SSL/TLS functions.
mbedtls_ssl_cookie_write_t
int mbedtls_ssl_cookie_write_t(void *ctx, unsigned char **p, unsigned char *end, const unsigned char *info, size_t ilen)
Callback type: generate a cookie.
Definition
ssl.h:3068
mbedtls_ssl_cookie_check_t
int mbedtls_ssl_cookie_check_t(void *ctx, const unsigned char *cookie, size_t clen, const unsigned char *info, size_t ilen)
Callback type: verify a cookie.
Definition
ssl.h:3085
mbedtls_ssl_cookie_write
mbedtls_ssl_cookie_write_t mbedtls_ssl_cookie_write
Generate cookie, see mbedtls_ssl_cookie_write_t.
Definition
ssl_cookie.h:95
mbedtls_ssl_cookie_setup
int mbedtls_ssl_cookie_setup(mbedtls_ssl_cookie_ctx *ctx, mbedtls_f_rng_t *f_rng, void *p_rng)
Setup cookie context (generate keys).
mbedtls_ssl_cookie_set_timeout
void mbedtls_ssl_cookie_set_timeout(mbedtls_ssl_cookie_ctx *ctx, unsigned long delay)
Set expiration delay for cookies (Default MBEDTLS_SSL_COOKIE_TIMEOUT).
mbedtls_ssl_cookie_free
void mbedtls_ssl_cookie_free(mbedtls_ssl_cookie_ctx *ctx)
Free cookie context.
mbedtls_ssl_cookie_check
mbedtls_ssl_cookie_check_t mbedtls_ssl_cookie_check
Verify cookie, see mbedtls_ssl_cookie_write_t.
Definition
ssl_cookie.h:100
mbedtls_ssl_cookie_init
void mbedtls_ssl_cookie_init(mbedtls_ssl_cookie_ctx *ctx)
Initialize cookie context.
mbedtls_md_context_t
Definition
md.h:122
mbedtls_ssl_cookie_ctx
Context for the default cookie functions.
Definition
ssl_cookie.h:44
mbedtls_threading_mutex_t
Definition
threading.h:29
threading.h
Threading abstraction layer.
include
mbedtls
ssl_cookie.h
Generated on
for Mbed TLS v3.6.7 by
1.17.0