Formatting and parsing of extensions (TLS 1.3 server) More...
#include "tls.h"
#include "tls_misc.h"
#include "tls13_server_extensions.h"
#include "tls13_server_misc.h"
#include "tls13_ticket.h"
#include "debug.h"
Go to the source code of this file.
Macros | |
#define | TRACE_LEVEL TLS_TRACE_LEVEL |
Functions | |
error_t | tls13FormatServerSupportedVersionsExtension (TlsContext *context, uint8_t *p, size_t *written) |
Format SupportedVersions extension. More... | |
error_t | tls13FormatSelectedGroupExtension (TlsContext *context, uint8_t *p, size_t *written) |
Format KeyShare extension (HelloRetryRequest message) More... | |
error_t | tls13FormatServerKeyShareExtension (TlsContext *context, uint8_t *p, size_t *written) |
Format KeyShare extension (ServerHello message) More... | |
error_t | tls13FormatServerPreSharedKeyExtension (TlsContext *context, uint8_t *p, size_t *written) |
Format PreSharedKey extension. More... | |
error_t | tls13FormatServerEarlyDataExtension (TlsContext *context, TlsMessageType msgType, uint8_t *p, size_t *written) |
Format EarlyData extension. More... | |
error_t | tls13ParseClientKeyShareExtension (TlsContext *context, const Tls13KeyShareList *keyShareList, const TlsSupportedGroupList *groupList) |
Parse KeyShare extension. More... | |
error_t | tls13ParsePskKeModesExtension (TlsContext *context, const Tls13PskKeModeList *pskKeModeList) |
Parse PskKeyExchangeModes extension. More... | |
error_t | tls13ParseClientPreSharedKeyExtension (TlsContext *context, const TlsClientHello *clientHello, size_t clientHelloLen, const Tls13PskIdentityList *identityList, const Tls13PskBinderList *binderList) |
Parse PreSharedKey extension. More... | |
error_t | tls13ParseClientEarlyDataExtension (TlsContext *context, const TlsExtension *earlyDataIndication) |
Parse EarlyData extension. More... | |
Detailed Description
Formatting and parsing of extensions (TLS 1.3 server)
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.
- Version
- 2.4.4
Definition in file tls13_server_extensions.c.
Macro Definition Documentation
◆ TRACE_LEVEL
#define TRACE_LEVEL TLS_TRACE_LEVEL |
Definition at line 32 of file tls13_server_extensions.c.
Function Documentation
◆ tls13FormatSelectedGroupExtension()
error_t tls13FormatSelectedGroupExtension | ( | TlsContext * | context, |
uint8_t * | p, | ||
size_t * | written | ||
) |
Format KeyShare extension (HelloRetryRequest message)
- Parameters
-
[in] context Pointer to the TLS context [in] p Output stream where to write the KeyShare extension [out] written Total number of bytes that have been written
- Returns
- Error code
Definition at line 108 of file tls13_server_extensions.c.
◆ tls13FormatServerEarlyDataExtension()
error_t tls13FormatServerEarlyDataExtension | ( | TlsContext * | context, |
TlsMessageType | msgType, | ||
uint8_t * | p, | ||
size_t * | written | ||
) |
Format EarlyData extension.
- Parameters
-
[in] context Pointer to the TLS context [in] msgType Handshake message type [in] p Output stream where to write the EarlyData extension [out] written Total number of bytes that have been written
- Returns
- Error code
Definition at line 343 of file tls13_server_extensions.c.
◆ tls13FormatServerKeyShareExtension()
error_t tls13FormatServerKeyShareExtension | ( | TlsContext * | context, |
uint8_t * | p, | ||
size_t * | written | ||
) |
Format KeyShare extension (ServerHello message)
- Parameters
-
[in] context Pointer to the TLS context [in] p Output stream where to write the KeyShare extension [out] written Total number of bytes that have been written
- Returns
- Error code
Definition at line 156 of file tls13_server_extensions.c.
◆ tls13FormatServerPreSharedKeyExtension()
error_t tls13FormatServerPreSharedKeyExtension | ( | TlsContext * | context, |
uint8_t * | p, | ||
size_t * | written | ||
) |
Format PreSharedKey extension.
- Parameters
-
[in] context Pointer to the TLS context [in] p Output stream where to write the PreSharedKey extension [out] written Total number of bytes that have been written
- Returns
- Error code
Definition at line 293 of file tls13_server_extensions.c.
◆ tls13FormatServerSupportedVersionsExtension()
error_t tls13FormatServerSupportedVersionsExtension | ( | TlsContext * | context, |
uint8_t * | p, | ||
size_t * | written | ||
) |
Format SupportedVersions extension.
- Parameters
-
[in] context Pointer to the TLS context [in] p Output stream where to write the SupportedVersions extension [out] written Total number of bytes that have been written
- Returns
- Error code
Definition at line 55 of file tls13_server_extensions.c.
◆ tls13ParseClientEarlyDataExtension()
error_t tls13ParseClientEarlyDataExtension | ( | TlsContext * | context, |
const TlsExtension * | earlyDataIndication | ||
) |
Parse EarlyData extension.
- Parameters
-
[in] context Pointer to the TLS context [in] earlyDataIndication Pointer to the EarlyData extension
- Returns
- Error code
Definition at line 878 of file tls13_server_extensions.c.
◆ tls13ParseClientKeyShareExtension()
error_t tls13ParseClientKeyShareExtension | ( | TlsContext * | context, |
const Tls13KeyShareList * | keyShareList, | ||
const TlsSupportedGroupList * | groupList | ||
) |
Parse KeyShare extension.
- Parameters
-
[in] context Pointer to the TLS context [in] keyShareList Pointer to the KeyShare extension [in] groupList Pointer to the SupportedGroups extension
- Returns
- Error code
Definition at line 414 of file tls13_server_extensions.c.
◆ tls13ParseClientPreSharedKeyExtension()
error_t tls13ParseClientPreSharedKeyExtension | ( | TlsContext * | context, |
const TlsClientHello * | clientHello, | ||
size_t | clientHelloLen, | ||
const Tls13PskIdentityList * | identityList, | ||
const Tls13PskBinderList * | binderList | ||
) |
Parse PreSharedKey extension.
- Parameters
-
[in] context Pointer to the TLS context [in] clientHello Pointer to the ClientHello message [in] clientHelloLen Length of the ClientHello message [in] identityList List of the identities that the client is willing to negotiate with the server [in] binderList List of HMAC values, one for each PSK offered in the PreSharedKey extension
- Returns
- Error code
Definition at line 698 of file tls13_server_extensions.c.
◆ tls13ParsePskKeModesExtension()
error_t tls13ParsePskKeModesExtension | ( | TlsContext * | context, |
const Tls13PskKeModeList * | pskKeModeList | ||
) |
Parse PskKeyExchangeModes extension.
- Parameters
-
[in] context Pointer to the TLS context [in] pskKeModeList Pointer to the PskKeyExchangeModes extension
- Returns
- Error code
Definition at line 596 of file tls13_server_extensions.c.