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.