tls_cipher_suites.c File Reference

TLS cipher suites. More...

#include "tls.h"
#include "tls_cipher_suites.h"
#include "cipher/rc4.h"
#include "cipher/idea.h"
#include "cipher/des.h"
#include "cipher/des3.h"
#include "cipher/aes.h"
#include "cipher/camellia.h"
#include "cipher/seed.h"
#include "cipher/aria.h"
#include "hash/md5.h"
#include "hash/sha1.h"
#include "hash/sha256.h"
#include "hash/sha384.h"
#include "debug.h"

Go to the source code of this file.

Macros

#define TRACE_LEVEL   TLS_TRACE_LEVEL
 

Functions

uint_t tlsGetNumSupportedCipherSuites (void)
 Determine the number of cipher suites supported. More...
 
const char_ttlsGetCipherSuiteName (uint16_t identifier)
 Convert cipher suite identifier to string representation. More...
 
bool_t tlsIsCipherSuiteAcceptable (const TlsCipherSuiteInfo *cipherSuite, uint16_t minVersion, uint16_t maxVersion, TlsTransportProtocol transportProtocol)
 Check whether a cipher suite can be used with a given protocol version. More...
 
TlsCipherSuiteType tlsGetCipherSuiteType (uint16_t identifier)
 Check whether the specified identifier matches an ECC or FFDHE cipher suite. More...
 

Variables

const TlsCipherSuiteInfo tlsSupportedCipherSuites []
 

Detailed Description

TLS cipher suites.

License

Copyright (C) 2010-2018 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
1.9.0

Definition in file tls_cipher_suites.c.

Macro Definition Documentation

◆ TRACE_LEVEL

#define TRACE_LEVEL   TLS_TRACE_LEVEL

Definition at line 30 of file tls_cipher_suites.c.

Function Documentation

◆ tlsGetCipherSuiteName()

const char_t* tlsGetCipherSuiteName ( uint16_t  identifier)

Convert cipher suite identifier to string representation.

Parameters
[in]identifierCipher suite identifier
Returns
Cipher suite name

Definition at line 1215 of file tls_cipher_suites.c.

◆ tlsGetCipherSuiteType()

TlsCipherSuiteType tlsGetCipherSuiteType ( uint16_t  identifier)

Check whether the specified identifier matches an ECC or FFDHE cipher suite.

Parameters
[in]identifierCipher suite identifier
Returns
Cipher suite type

Definition at line 1302 of file tls_cipher_suites.c.

◆ tlsGetNumSupportedCipherSuites()

uint_t tlsGetNumSupportedCipherSuites ( void  )

Determine the number of cipher suites supported.

Returns
Number of supported cipher suites

Definition at line 1202 of file tls_cipher_suites.c.

◆ tlsIsCipherSuiteAcceptable()

bool_t tlsIsCipherSuiteAcceptable ( const TlsCipherSuiteInfo cipherSuite,
uint16_t  minVersion,
uint16_t  maxVersion,
TlsTransportProtocol  transportProtocol 
)

Check whether a cipher suite can be used with a given protocol version.

Parameters
[in]cipherSuiteCipher suite
[in]minVersionMinimum TLS protocol version
[in]maxVersionMaximum TLS protocol version
[in]transportProtocolTransport protocol (TLS or DTLS)
Returns
TRUE if the cipher suite is acceptable, else FALSE

Definition at line 1245 of file tls_cipher_suites.c.

Variable Documentation

◆ tlsSupportedCipherSuites

const TlsCipherSuiteInfo tlsSupportedCipherSuites[]

Definition at line 53 of file tls_cipher_suites.c.