tls13_ticket.c File Reference

TLS 1.3 session tickets. More...

#include "tls.h"
#include "tls_misc.h"
#include "tls13_key_material.h"
#include "tls13_ticket.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   TLS_TRACE_LEVEL
 

Functions

bool_t tls13IsTicketValid (TlsContext *context)
 Check whether a session ticket is valid. More...
 
error_t tls13SaveSessionTicket (const TlsContext *context, TlsSessionState *session)
 Save session ticket. More...
 
error_t tls13RestoreSessionTicket (TlsContext *context, const TlsSessionState *session)
 Restore a TLS session using session ticket. More...
 
error_t tls13GenerateTicket (TlsContext *context, const Tls13NewSessionTicket *message, uint8_t *ticket, size_t *length)
 Session ticket generation. More...
 
error_t tls13VerifyTicket (TlsContext *context, const uint8_t *ticket, size_t length, uint32_t obfuscatedTicketAge)
 Session ticket verification. More...
 

Detailed Description

TLS 1.3 session tickets.

License

SPDX-License-Identifier: GPL-2.0-or-later

Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneSSL Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author
Oryx Embedded SARL (www.oryx-embedded.com)
Version
2.4.0

Definition in file tls13_ticket.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   TLS_TRACE_LEVEL

Definition at line 32 of file tls13_ticket.c.

Function Documentation

◆ tls13GenerateTicket()

error_t tls13GenerateTicket ( TlsContext context,
const Tls13NewSessionTicket message,
uint8_t *  ticket,
size_t *  length 
)

Session ticket generation.

Parameters
[in]contextPointer to the TLS context
[in]messagePointer to the NewSessionTicket message
[out]ticketOutput stream where to write the session ticket
[out]lengthLength of the session ticket, in bytes
Returns
Error code

Definition at line 306 of file tls13_ticket.c.

◆ tls13IsTicketValid()

bool_t tls13IsTicketValid ( TlsContext context)

Check whether a session ticket is valid.

Parameters
[in]contextPointer to the TLS context
Returns
TRUE is the session ticket is valid, else FALSE

Definition at line 51 of file tls13_ticket.c.

◆ tls13RestoreSessionTicket()

error_t tls13RestoreSessionTicket ( TlsContext context,
const TlsSessionState session 
)

Restore a TLS session using session ticket.

Parameters
[in]contextPointer to the TLS context
[in]sessionPointer to the session state
Returns
Error code

Definition at line 187 of file tls13_ticket.c.

◆ tls13SaveSessionTicket()

error_t tls13SaveSessionTicket ( const TlsContext context,
TlsSessionState session 
)

Save session ticket.

Parameters
[in]contextPointer to the TLS context
[out]sessionPointer to the session state
Returns
Error code

Definition at line 89 of file tls13_ticket.c.

◆ tls13VerifyTicket()

error_t tls13VerifyTicket ( TlsContext context,
const uint8_t *  ticket,
size_t  length,
uint32_t  obfuscatedTicketAge 
)

Session ticket verification.

Parameters
[in]contextPointer to the TLS context
[in]ticketPointer to the encrypted ticket
[in]lengthLength of the encrypted ticket, in bytes
[in]obfuscatedTicketAgeObfuscated version of the ticket age
Returns
Error code

Definition at line 377 of file tls13_ticket.c.