Data Structures |
struct | TlsCipherSuiteInfo |
| Structure describing a cipher suite. More...
|
struct | TlsSession |
| TLS session. More...
|
struct | TlsCache |
| Session cache. More...
|
struct | TlsCertDesc |
| Certificate descriptor. More...
|
struct | _TlsContext |
| TLS context. More...
|
Typedefs |
typedef uint16_t | TlsCipherSuite |
| Cipher suite.
|
typedef uint8_t | TlsCompressionMethod |
| Compression method.
|
typedef uint8_t | TlsSequenceNumber [8] |
| Sequence number.
|
typedef void * | TlsIoHandle |
| Handle for I/O operations.
|
typedef error_t(* | TlsIoSendCallback )(TlsIoHandle handle, const void *data, size_t length, size_t *written, uint_t flags) |
| Send callback function.
|
typedef error_t(* | TlsIoReceiveCallback )(TlsIoHandle handle, void *data, size_t size, size_t *received, uint_t flags) |
| Receive callback function.
|
typedef error_t(* | TlsPskCallback )(TlsContext *context, const char_t *pskIdentity) |
| Pre-shared key callback function.
|
Enumerations |
enum | TlsConnectionEnd |
| TLS connection end.
More...
|
enum | TlsClientAuthMode |
| Client authentication mode.
More...
|
enum | TlsFlags |
| Flags used by read and write functions.
More...
|
enum | TlsContentType |
| Content type.
More...
|
enum | TlsMessageType |
| Handshake message type.
More...
|
enum | TlsAlertLevel |
| Alert level.
More...
|
enum | TlsAlertDescription |
| Alert description.
More...
|
enum | TlsCompressionMethodList |
| Compression methods.
More...
|
enum | TlsKeyExchMethod |
| Key exchange methods.
More...
|
enum | TlsCertificateType |
| Certificate types.
More...
|
enum | TlsHashAlgo |
| Hash algorithms.
More...
|
enum | TlsSignatureAlgo |
| Signature algorithms.
More...
|
enum | TlsExtensionType |
| TLS extension types.
More...
|
enum | TlsNameType |
| Name type.
More...
|
enum | TlsEcNamedCurve |
| EC named curves.
More...
|
enum | TlsEcPointFormat |
| EC point formats.
More...
|
enum | TlsEcCurveType |
| EC curve types.
More...
|
enum | TlsState |
| TLS FSM states.
More...
|
Functions |
TlsContext * | tlsInit (void) |
| TLS context initialization.
|
error_t | tlsSetIoCallbacks (TlsContext *context, TlsIoHandle handle, TlsIoSendCallback sendCallback, TlsIoReceiveCallback receiveCallback) |
| Set send and receive callbacks (I/O abstraction layer)
|
error_t | tlsSetConnectionEnd (TlsContext *context, TlsConnectionEnd entity) |
| Set operation mode (client or server)
|
error_t | tlsSetPrng (TlsContext *context, const PrngAlgo *prngAlgo, void *prngContext) |
| Set the pseudo-random number generator to be used.
|
error_t | tlsSetServerName (TlsContext *context, const char_t *serverName) |
| Set the name of the remote server.
|
error_t | tlsSetCache (TlsContext *context, TlsCache *cache) |
| Set session cache.
|
error_t | tlsSetClientAuthMode (TlsContext *context, TlsClientAuthMode mode) |
| Set client authentication mode.
|
error_t | tlsSetBufferSize (TlsContext *context, size_t txBufferSize, size_t rxBufferSize) |
| Set TLS buffer size.
|
error_t | tlsSetCipherSuites (TlsContext *context, const uint16_t *cipherSuites, uint_t length) |
| Specify the list of allowed cipher suites.
|
error_t | tlsSetDhParameters (TlsContext *context, const char_t *params, size_t length) |
| Import Diffie-Hellman parameters.
|
error_t | tlsSetAlpnProtocolList (TlsContext *context, const char_t *protocolList) |
| Set the list of supported ALPN protocols.
|
const char_t * | tlsGetAlpnProtocol (TlsContext *context) |
| Get the name of the negotiated ALPN protocol.
|
error_t | tlsSetPsk (TlsContext *context, const uint8_t *psk, size_t pskLength) |
| Set the pre-shared key to be used.
|
error_t | tlsSetPskIdentity (TlsContext *context, const char_t *pskIdentity) |
| Set the PSK identity to be used by the client.
|
error_t | tlsSetPskIdentityHint (TlsContext *context, const char_t *pskIdentityHint) |
| Set the PSK identity hint to be used by the server.
|
error_t | tlsSetPskCallback (TlsContext *context, TlsPskCallback pskCallback) |
| Register the PSK callback function.
|
error_t | tlsSetTrustedCaList (TlsContext *context, const char_t *trustedCaList, size_t length) |
| Import a trusted CA list.
|
error_t | tlsAddCertificate (TlsContext *context, const char_t *certChain, size_t certChainLength, const char_t *privateKey, size_t privateKeyLength) |
| Import a certificate and the corresponding private key.
|
error_t | tlsConnect (TlsContext *context) |
| Initiate the TLS handshake.
|
error_t | tlsWrite (TlsContext *context, const void *data, size_t length, size_t *written, uint_t flags) |
| Send application data to the remote host using TLS.
|
error_t | tlsRead (TlsContext *context, void *data, size_t size, size_t *received, uint_t flags) |
| Receive application data from a the remote host using TLS.
|
error_t | tlsShutdown (TlsContext *context) |
| Gracefully close TLS session.
|
error_t | tlsShutdownEx (TlsContext *context, bool_t waitForCloseNotify) |
| Gracefully close TLS session.
|
void | tlsFree (TlsContext *context) |
| Release TLS context.
|
error_t | tlsSaveSession (const TlsContext *context, TlsSession *session) |
| Save TLS session.
|
error_t | tlsRestoreSession (TlsContext *context, const TlsSession *session) |
| Restore TLS session.
|
TlsCache * | tlsInitCache (uint_t size) |
| Session cache initialization.
|
void | tlsFreeCache (TlsCache *cache) |
| Properly dispose a session cache.
|
Copyright (C) 2010-2017 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.