_TlsContext Struct Reference

TLS context. More...

#include <tls.h>

Data Fields

TlsState state
 TLS handshake finite state machine. More...
 
TlsTransportProtocol transportProtocol
 Transport protocol (stream or datagram) More...
 
TlsConnectionEnd entity
 Client or server operation. More...
 
TlsSocketHandle socketHandle
 Socket handle. More...
 
TlsSocketSendCallback socketSendCallback
 Socket send callback function. More...
 
TlsSocketReceiveCallback socketReceiveCallback
 Socket receive callback function. More...
 
const PrngAlgoprngAlgo
 Pseudo-random number generator to be used. More...
 
void * prngContext
 Pseudo-random number generator context. More...
 
const uint16_t * cipherSuites
 List of supported cipher suites. More...
 
uint_t numCipherSuites
 Number of cipher suites in the list. More...
 
const uint16_t * supportedGroups
 List of supported named groups. More...
 
uint_t numSupportedGroups
 Number of named groups in the list. More...
 
char_tserverName
 Fully qualified DNS hostname of the server. More...
 
TlsEcdhCallback ecdhCallback
 
TlsEcdsaSignCallback ecdsaSignCallback
 
TlsEcdsaVerifyCallback ecdsaVerifyCallback
 
TlsCertDesc certs [TLS_MAX_CERTIFICATES]
 End entity certificates (PEM format) More...
 
uint_t numCerts
 Number of certificates available. More...
 
const char_ttrustedCaList
 List of trusted CA (PEM format) More...
 
size_t trustedCaListLen
 Number of trusted CA in the list. More...
 
TlsCertVerifyCallback certVerifyCallback
 Certificate verification callback function. More...
 
void * certVerifyParam
 Opaque pointer passed to the certificate verification callback. More...
 
TlsCertDesccert
 Pointer to the currently selected certificate. More...
 
TlsCachecache
 TLS session cache. More...
 
uint8_t sessionId [32]
 Session identifier. More...
 
size_t sessionIdLen
 Length of the session identifier. More...
 
uint16_t clientVersion
 Latest version supported by the client. More...
 
uint16_t version
 Negotiated TLS version. More...
 
uint16_t versionMin
 Minimum version accepted by the implementation. More...
 
uint16_t versionMax
 Maximum version accepted by the implementation. More...
 
uint8_t * cookie
 Cookie. More...
 
size_t cookieLen
 Length of the cookie. More...
 
uint8_t * ticket
 Session ticket. More...
 
size_t ticketLen
 Length of the session ticket. More...
 
systime_t ticketTimestamp
 Timestamp to manage ticket lifetime. More...
 
uint32_t ticketLifetime
 Lifetime of the ticket. More...
 
TlsCipherSuiteInfo cipherSuite
 Negotiated cipher suite. More...
 
TlsKeyExchMethod keyExchMethod
 Key exchange method. More...
 
TlsSignatureAlgo signAlgo
 Signature algorithm to be used. More...
 
TlsHashAlgo signHashAlgo
 Hash algorithm used for signing. More...
 
uint16_t namedGroup
 ECDHE or FFDHE named group. More...
 
TlsCertificateType peerCertType
 Peer's certificate type. More...
 
TlsClientAuthMode clientAuthMode
 Client authentication mode. More...
 
bool_t clientCertRequested
 This flag tells whether the client certificate is requested. More...
 
bool_t resume
 The connection is established by resuming a session. More...
 
bool_t fatalAlertSent
 A fatal alert message has been sent. More...
 
bool_t fatalAlertReceived
 A fatal alert message has been received from the peer. More...
 
bool_t closeNotifySent
 A closure alert has been sent. More...
 
bool_t closeNotifyReceived
 A closure alert has been received from the peer. More...
 
uint8_t * txBuffer
 TX buffer. More...
 
size_t txBufferSize
 TX buffer size. More...
 
size_t txBufferMaxLen
 Maximum number of plaintext data the TX buffer can hold. More...
 
TlsContentType txBufferType
 Type of data that resides in the TX buffer. More...
 
size_t txBufferLen
 Number of bytes that are pending to be sent. More...
 
size_t txBufferPos
 Current position in TX buffer. More...
 
size_t txRecordLen
 Length of the TLS record. More...
 
size_t txRecordPos
 Current position in the TLS record. More...
 
uint8_t * rxBuffer
 RX buffer. More...
 
size_t rxBufferSize
 RX buffer size. More...
 
size_t rxBufferMaxLen
 Maximum number of plaintext data the RX buffer can hold. More...
 
TlsContentType rxBufferType
 Type of data that resides in the RX buffer. More...
 
size_t rxBufferLen
 Number of bytes available for reading. More...
 
size_t rxBufferPos
 Current position in RX buffer. More...
 
size_t rxRecordLen
 Length of the TLS record. More...
 
size_t rxRecordPos
 Current position in the TLS record. More...
 
uint8_t clientRandom [TLS_RANDOM_SIZE]
 Client random value. More...
 
uint8_t serverRandom [TLS_RANDOM_SIZE]
 Server random value. More...
 
uint8_t premasterSecret [TLS_PREMASTER_SECRET_SIZE]
 Premaster secret. More...
 
size_t premasterSecretLen
 Length of the premaster secret. More...
 
uint8_t clientVerifyData [64]
 Client verify data. More...
 
size_t clientVerifyDataLen
 Length of the client verify data. More...
 
uint8_t serverVerifyData [64]
 Server verify data. More...
 
size_t serverVerifyDataLen
 Length of the server verify data. More...
 
TlsEncryptionEngine encryptionEngine
 Encryption engine. More...
 
TlsEncryptionEngine decryptionEngine
 Decryption engine. More...
 
uint8_t masterSecret [TLS_MASTER_SECRET_SIZE]
 Master secret. More...
 
uint8_t keyBlock [192]
 Key material. More...
 
HmacContext hmacContext
 HMAC context. More...
 
Sha1ContexttranscriptSha1Context
 SHA-1 context used to compute verify data. More...
 
HashContexttranscriptHashContext
 Hash context used to compute verify data. More...
 
uint16_t preferredGroup
 Preferred ECDHE or FFDHE named group. More...
 
systime_t clientHelloTimestamp
 Time at which the ClientHello message was sent. More...
 
bool_t updatedClientHelloReceived
 An updated ClientHello message has been received. More...
 
uint8_t * certRequestContext
 Certificate request context. More...
 
size_t certRequestContextLen
 Length of the certificate request context. More...
 
int_t selectedIdentity
 Selected PSK identity. More...
 
bool_t pskKeModeSupported
 PSK key establishment supported by the client. More...
 
uint8_t secret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint8_t clientEarlyTrafficSecret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint8_t clientHsTrafficSecret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint8_t serverHsTrafficSecret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint8_t clientAppTrafficSecret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint8_t serverAppTrafficSecret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint8_t exporterMasterSecret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint8_t resumptionMasterSecret [TLS_MAX_HKDF_DIGEST_SIZE]
 
uint_t newSessionTicketCount
 Number of NewSessionTicket messages that have been sent. More...
 
uint8_t ticketPsk [TLS_MAX_HKDF_DIGEST_SIZE]
 PSK associated with the ticket. More...
 
size_t ticketPskLen
 Length of the PSK associated with the ticket. More...
 
uint32_t ticketAgeAdd
 Random value used to obscure the age of the ticket. More...
 
uint32_t ticketNonce
 A per-ticket value that is unique across all tickets issued. More...
 
uint16_t ticketCipherSuite
 Cipher suite associated with the ticket. More...
 
TlsHashAlgo ticketHashAlgo
 Hash algorithm associated with the ticket. More...
 
char_tticketAlpn
 ALPN protocol associated with the ticket. More...
 
size_t maxEarlyDataSize
 Maximum amount of 0-RTT data that the client is allowed to send. More...
 
size_t earlyDataLen
 Total amount of 0-RTT data that have been sent by the client. More...
 
bool_t earlyDataEnabled
 EarlyData is enabled. More...
 
bool_t earlyDataRejected
 The 0-RTT data have been rejected by the server. More...
 
bool_t earlyDataExtReceived
 The EarlyData extension has been received. More...
 
TlsSequenceNumber earlyDataSeqNum
 Early data sequence number. More...
 
DhContext dhContext
 Diffie-Hellman context. More...
 
EcdhContext ecdhContext
 ECDH context. More...
 
bool_t ecPointFormatsExtReceived
 The EcPointFormats extension has been received. More...
 
RsaPublicKey peerRsaPublicKey
 Peer's RSA public key. More...
 
DsaPublicKey peerDsaPublicKey
 Peer's DSA public key. More...
 
EcDomainParameters peerEcParams
 Peer's EC domain parameters. More...
 
EcPublicKey peerEcPublicKey
 Peer's EC public key. More...
 
uint8_t * psk
 Pre-shared key. More...
 
size_t pskLen
 Length of the pre-shared key, in bytes. More...
 
char_tpskIdentity
 PSK identity. More...
 
char_tpskIdentityHint
 PSK identity hint. More...
 
TlsPskCallback pskCallback
 PSK callback function. More...
 
uint16_t pskCipherSuite
 Cipher suite associated with the PSK. More...
 
TlsHashAlgo pskHashAlgo
 Hash algorithm associated with the PSK. More...
 
size_t maxFragLen
 Maximum plaintext fragment length. More...
 
bool_t maxFragLenExtReceived
 The MaxFragmentLength extension has been received. More...
 
size_t recordSizeLimit
 Maximum record size the peer is willing to receive. More...
 
bool_t recordSizeLimitExtReceived
 The RecordSizeLimit extension has been received. More...
 
bool_t unknownProtocolsAllowed
 Unknown ALPN protocols allowed. More...
 
char_tprotocolList
 List of supported ALPN protocols. More...
 
char_tselectedProtocol
 Selected ALPN protocol. More...
 
TlsAlpnCallback alpnCallback
 ALPN callback function. More...
 
bool_t emsExtReceived
 The ExtendedMasterSecret extension has been received. More...
 
TlsCertificateFormat certFormat
 Certificate format. More...
 
TlsCertificateFormat peerCertFormat
 Peer's certificate format. More...
 
TlsRpkVerifyCallback rpkVerifyCallback
 Raw public key verification callback function. More...
 
bool_t clientCertTypeExtReceived
 The ClientCertType extension has been received. More...
 
bool_t serverCertTypeExtReceived
 The ServerCertType extension has been received. More...
 
bool_t sessionTicketEnabled
 Session ticket mechanism enabled. More...
 
bool_t sessionTicketExtReceived
 The SessionTicket extension has been received. More...
 
bool_t sessionTicketExtSent
 The SessionTicket extension has been sent. More...
 
TlsTicketEncryptCallback ticketEncryptCallback
 Ticket encryption callback function. More...
 
TlsTicketDecryptCallback ticketDecryptCallback
 Ticket decryption callback function. More...
 
void * ticketParam
 Opaque pointer passed to the ticket callbacks. More...
 
bool_t secureRenegoEnabled
 Secure renegotiation enabled. More...
 
bool_t secureRenegoFlag
 Secure renegotiation flag. More...
 
bool_t fallbackScsvEnabled
 Support for FALLBACK_SCSV. More...
 
TlsKeyLogCallback keyLogCallback
 Key logging callback (for debugging purpose only) More...
 
uint_t alertCount
 Count of consecutive warning alerts. More...
 
uint_t emptyRecordCount
 Count of consecutive empty records. More...
 
uint_t changeCipherSpecCount
 Count of consecutive ChangeCipherSpec messages. More...
 
uint_t keyUpdateCount
 Count of consecutive KeyUpdate messages. More...
 
size_t pmtu
 PMTU value. More...
 
systime_t timeout
 Timeout for blocking calls. More...
 
systime_t startTime
 
DtlsCookieGenerateCallback cookieGenerateCallback
 Cookie generation callback function. More...
 
DtlsCookieVerifyCallback cookieVerifyCallback
 Cookie verification callback function. More...
 
void * cookieParam
 Opaque pointer passed to the cookie callbacks. More...
 
uint_t retransmitCount
 Retransmission counter. More...
 
systime_t retransmitTimestamp
 Time at which the datagram was sent. More...
 
systime_t retransmitTimeout
 Retransmission timeout. More...
 
uint16_t txMsgSeq
 Send sequence number. More...
 
size_t txDatagramLen
 Length of the outgoing datagram, in bytes. More...
 
uint16_t rxMsgSeq
 Next receive sequence number. More...
 
size_t rxFragQueueLen
 Length of the reassembly queue. More...
 
size_t rxDatagramLen
 Length of the incoming datagram, in bytes. More...
 
size_t rxDatagramPos
 
uint16_t rxRecordVersion
 Version of the incoming record. More...
 
TlsEncryptionEngine prevEncryptionEngine
 
bool_t replayDetectionEnabled
 Anti-replay mechanism enabled. More...
 
uint32_t replayWindow [(DTLS_REPLAY_WINDOW_SIZE+31)/32]
 

Detailed Description

TLS context.

An opaque data structure that represents a TLS connection

Definition at line 2091 of file tls.h.

Field Documentation

◆ alertCount

uint_t alertCount

Count of consecutive warning alerts.

Definition at line 2328 of file tls.h.

◆ alpnCallback

TlsAlpnCallback alpnCallback

ALPN callback function.

Definition at line 2290 of file tls.h.

◆ cache

TlsCache* cache

TLS session cache.

Definition at line 2126 of file tls.h.

◆ cert

TlsCertDesc* cert

Pointer to the currently selected certificate.

Definition at line 2124 of file tls.h.

◆ certFormat

Certificate format.

Definition at line 2298 of file tls.h.

◆ certRequestContext

uint8_t* certRequestContext

Certificate request context.

Definition at line 2212 of file tls.h.

◆ certRequestContextLen

size_t certRequestContextLen

Length of the certificate request context.

Definition at line 2213 of file tls.h.

◆ certs

End entity certificates (PEM format)

Definition at line 2118 of file tls.h.

◆ certVerifyCallback

TlsCertVerifyCallback certVerifyCallback

Certificate verification callback function.

Definition at line 2122 of file tls.h.

◆ certVerifyParam

void* certVerifyParam

Opaque pointer passed to the certificate verification callback.

Definition at line 2123 of file tls.h.

◆ changeCipherSpecCount

uint_t changeCipherSpecCount

Count of consecutive ChangeCipherSpec messages.

Definition at line 2336 of file tls.h.

◆ cipherSuite

TlsCipherSuiteInfo cipherSuite

Negotiated cipher suite.

Definition at line 2143 of file tls.h.

◆ cipherSuites

const uint16_t* cipherSuites

List of supported cipher suites.

Definition at line 2104 of file tls.h.

◆ clientAppTrafficSecret

uint8_t clientAppTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2221 of file tls.h.

◆ clientAuthMode

TlsClientAuthMode clientAuthMode

Client authentication mode.

Definition at line 2150 of file tls.h.

◆ clientCertRequested

bool_t clientCertRequested

This flag tells whether the client certificate is requested.

Definition at line 2151 of file tls.h.

◆ clientCertTypeExtReceived

bool_t clientCertTypeExtReceived

The ClientCertType extension has been received.

Definition at line 2301 of file tls.h.

◆ clientEarlyTrafficSecret

uint8_t clientEarlyTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2218 of file tls.h.

◆ clientHelloTimestamp

systime_t clientHelloTimestamp

Time at which the ClientHello message was sent.

Definition at line 2210 of file tls.h.

◆ clientHsTrafficSecret

uint8_t clientHsTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2219 of file tls.h.

◆ clientRandom

uint8_t clientRandom[TLS_RANDOM_SIZE]

Client random value.

Definition at line 2177 of file tls.h.

◆ clientVerifyData

uint8_t clientVerifyData[64]

Client verify data.

Definition at line 2181 of file tls.h.

◆ clientVerifyDataLen

size_t clientVerifyDataLen

Length of the client verify data.

Definition at line 2182 of file tls.h.

◆ clientVersion

uint16_t clientVersion

Latest version supported by the client.

Definition at line 2130 of file tls.h.

◆ closeNotifyReceived

bool_t closeNotifyReceived

A closure alert has been received from the peer.

Definition at line 2157 of file tls.h.

◆ closeNotifySent

bool_t closeNotifySent

A closure alert has been sent.

Definition at line 2156 of file tls.h.

◆ cookie

uint8_t* cookie

Cookie.

Definition at line 2135 of file tls.h.

◆ cookieGenerateCallback

DtlsCookieGenerateCallback cookieGenerateCallback

Cookie generation callback function.

Definition at line 2348 of file tls.h.

◆ cookieLen

size_t cookieLen

Length of the cookie.

Definition at line 2136 of file tls.h.

◆ cookieParam

void* cookieParam

Opaque pointer passed to the cookie callbacks.

Definition at line 2350 of file tls.h.

◆ cookieVerifyCallback

DtlsCookieVerifyCallback cookieVerifyCallback

Cookie verification callback function.

Definition at line 2349 of file tls.h.

◆ decryptionEngine

TlsEncryptionEngine decryptionEngine

Decryption engine.

Definition at line 2187 of file tls.h.

◆ dhContext

DhContext dhContext

Diffie-Hellman context.

Definition at line 2245 of file tls.h.

◆ earlyDataEnabled

bool_t earlyDataEnabled

EarlyData is enabled.

Definition at line 2238 of file tls.h.

◆ earlyDataExtReceived

bool_t earlyDataExtReceived

The EarlyData extension has been received.

Definition at line 2240 of file tls.h.

◆ earlyDataLen

size_t earlyDataLen

Total amount of 0-RTT data that have been sent by the client.

Definition at line 2237 of file tls.h.

◆ earlyDataRejected

bool_t earlyDataRejected

The 0-RTT data have been rejected by the server.

Definition at line 2239 of file tls.h.

◆ earlyDataSeqNum

TlsSequenceNumber earlyDataSeqNum

Early data sequence number.

Definition at line 2241 of file tls.h.

◆ ecdhCallback

TlsEcdhCallback ecdhCallback

Definition at line 2113 of file tls.h.

◆ ecdhContext

EcdhContext ecdhContext

ECDH context.

Definition at line 2249 of file tls.h.

◆ ecdsaSignCallback

TlsEcdsaSignCallback ecdsaSignCallback

Definition at line 2114 of file tls.h.

◆ ecdsaVerifyCallback

TlsEcdsaVerifyCallback ecdsaVerifyCallback

Definition at line 2115 of file tls.h.

◆ ecPointFormatsExtReceived

bool_t ecPointFormatsExtReceived

The EcPointFormats extension has been received.

Definition at line 2250 of file tls.h.

◆ emptyRecordCount

uint_t emptyRecordCount

Count of consecutive empty records.

Definition at line 2332 of file tls.h.

◆ emsExtReceived

bool_t emsExtReceived

The ExtendedMasterSecret extension has been received.

Definition at line 2294 of file tls.h.

◆ encryptionEngine

TlsEncryptionEngine encryptionEngine

Encryption engine.

Definition at line 2186 of file tls.h.

◆ entity

Client or server operation.

Definition at line 2095 of file tls.h.

◆ exporterMasterSecret

uint8_t exporterMasterSecret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2223 of file tls.h.

◆ fallbackScsvEnabled

bool_t fallbackScsvEnabled

Support for FALLBACK_SCSV.

Definition at line 2320 of file tls.h.

◆ fatalAlertReceived

bool_t fatalAlertReceived

A fatal alert message has been received from the peer.

Definition at line 2155 of file tls.h.

◆ fatalAlertSent

bool_t fatalAlertSent

A fatal alert message has been sent.

Definition at line 2154 of file tls.h.

◆ hmacContext

HmacContext hmacContext

HMAC context.

Definition at line 2200 of file tls.h.

◆ keyBlock

uint8_t keyBlock[192]

Key material.

Definition at line 2199 of file tls.h.

◆ keyExchMethod

TlsKeyExchMethod keyExchMethod

Key exchange method.

Definition at line 2144 of file tls.h.

◆ keyLogCallback

TlsKeyLogCallback keyLogCallback

Key logging callback (for debugging purpose only)

Definition at line 2324 of file tls.h.

◆ keyUpdateCount

uint_t keyUpdateCount

Count of consecutive KeyUpdate messages.

Definition at line 2340 of file tls.h.

◆ masterSecret

uint8_t masterSecret[TLS_MASTER_SECRET_SIZE]

Master secret.

Definition at line 2198 of file tls.h.

◆ maxEarlyDataSize

size_t maxEarlyDataSize

Maximum amount of 0-RTT data that the client is allowed to send.

Definition at line 2236 of file tls.h.

◆ maxFragLen

size_t maxFragLen

Maximum plaintext fragment length.

Definition at line 2277 of file tls.h.

◆ maxFragLenExtReceived

bool_t maxFragLenExtReceived

The MaxFragmentLength extension has been received.

Definition at line 2278 of file tls.h.

◆ namedGroup

uint16_t namedGroup

ECDHE or FFDHE named group.

Definition at line 2147 of file tls.h.

◆ newSessionTicketCount

uint_t newSessionTicketCount

Number of NewSessionTicket messages that have been sent.

Definition at line 2226 of file tls.h.

◆ numCerts

uint_t numCerts

Number of certificates available.

Definition at line 2119 of file tls.h.

◆ numCipherSuites

uint_t numCipherSuites

Number of cipher suites in the list.

Definition at line 2105 of file tls.h.

◆ numSupportedGroups

uint_t numSupportedGroups

Number of named groups in the list.

Definition at line 2108 of file tls.h.

◆ peerCertFormat

TlsCertificateFormat peerCertFormat

Peer's certificate format.

Definition at line 2299 of file tls.h.

◆ peerCertType

TlsCertificateType peerCertType

Peer's certificate type.

Definition at line 2149 of file tls.h.

◆ peerDsaPublicKey

DsaPublicKey peerDsaPublicKey

Peer's DSA public key.

Definition at line 2258 of file tls.h.

◆ peerEcParams

EcDomainParameters peerEcParams

Peer's EC domain parameters.

Definition at line 2262 of file tls.h.

◆ peerEcPublicKey

EcPublicKey peerEcPublicKey

Peer's EC public key.

Definition at line 2263 of file tls.h.

◆ peerRsaPublicKey

RsaPublicKey peerRsaPublicKey

Peer's RSA public key.

Definition at line 2254 of file tls.h.

◆ pmtu

size_t pmtu

PMTU value.

Definition at line 2344 of file tls.h.

◆ preferredGroup

uint16_t preferredGroup

Preferred ECDHE or FFDHE named group.

Definition at line 2209 of file tls.h.

◆ premasterSecret

uint8_t premasterSecret[TLS_PREMASTER_SECRET_SIZE]

Premaster secret.

Definition at line 2179 of file tls.h.

◆ premasterSecretLen

size_t premasterSecretLen

Length of the premaster secret.

Definition at line 2180 of file tls.h.

◆ prevEncryptionEngine

TlsEncryptionEngine prevEncryptionEngine

Definition at line 2365 of file tls.h.

◆ prngAlgo

const PrngAlgo* prngAlgo

Pseudo-random number generator to be used.

Definition at line 2101 of file tls.h.

◆ prngContext

void* prngContext

Pseudo-random number generator context.

Definition at line 2102 of file tls.h.

◆ protocolList

char_t* protocolList

List of supported ALPN protocols.

Definition at line 2288 of file tls.h.

◆ psk

uint8_t* psk

Pre-shared key.

Definition at line 2267 of file tls.h.

◆ pskCallback

TlsPskCallback pskCallback

PSK callback function.

Definition at line 2271 of file tls.h.

◆ pskCipherSuite

uint16_t pskCipherSuite

Cipher suite associated with the PSK.

Definition at line 2272 of file tls.h.

◆ pskHashAlgo

TlsHashAlgo pskHashAlgo

Hash algorithm associated with the PSK.

Definition at line 2273 of file tls.h.

◆ pskIdentity

char_t* pskIdentity

PSK identity.

Definition at line 2269 of file tls.h.

◆ pskIdentityHint

char_t* pskIdentityHint

PSK identity hint.

Definition at line 2270 of file tls.h.

◆ pskKeModeSupported

bool_t pskKeModeSupported

PSK key establishment supported by the client.

Definition at line 2215 of file tls.h.

◆ pskLen

size_t pskLen

Length of the pre-shared key, in bytes.

Definition at line 2268 of file tls.h.

◆ recordSizeLimit

size_t recordSizeLimit

Maximum record size the peer is willing to receive.

Definition at line 2282 of file tls.h.

◆ recordSizeLimitExtReceived

bool_t recordSizeLimitExtReceived

The RecordSizeLimit extension has been received.

Definition at line 2283 of file tls.h.

◆ replayDetectionEnabled

bool_t replayDetectionEnabled

Anti-replay mechanism enabled.

Definition at line 2369 of file tls.h.

◆ replayWindow

uint32_t replayWindow[(DTLS_REPLAY_WINDOW_SIZE+31)/32]

Definition at line 2370 of file tls.h.

◆ resume

bool_t resume

The connection is established by resuming a session.

Definition at line 2153 of file tls.h.

◆ resumptionMasterSecret

uint8_t resumptionMasterSecret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2224 of file tls.h.

◆ retransmitCount

uint_t retransmitCount

Retransmission counter.

Definition at line 2352 of file tls.h.

◆ retransmitTimeout

systime_t retransmitTimeout

Retransmission timeout.

Definition at line 2354 of file tls.h.

◆ retransmitTimestamp

systime_t retransmitTimestamp

Time at which the datagram was sent.

Definition at line 2353 of file tls.h.

◆ rpkVerifyCallback

TlsRpkVerifyCallback rpkVerifyCallback

Raw public key verification callback function.

Definition at line 2300 of file tls.h.

◆ rxBuffer

uint8_t* rxBuffer

RX buffer.

Definition at line 2168 of file tls.h.

◆ rxBufferLen

size_t rxBufferLen

Number of bytes available for reading.

Definition at line 2172 of file tls.h.

◆ rxBufferMaxLen

size_t rxBufferMaxLen

Maximum number of plaintext data the RX buffer can hold.

Definition at line 2170 of file tls.h.

◆ rxBufferPos

size_t rxBufferPos

Current position in RX buffer.

Definition at line 2173 of file tls.h.

◆ rxBufferSize

size_t rxBufferSize

RX buffer size.

Definition at line 2169 of file tls.h.

◆ rxBufferType

TlsContentType rxBufferType

Type of data that resides in the RX buffer.

Definition at line 2171 of file tls.h.

◆ rxDatagramLen

size_t rxDatagramLen

Length of the incoming datagram, in bytes.

Definition at line 2361 of file tls.h.

◆ rxDatagramPos

size_t rxDatagramPos

Definition at line 2362 of file tls.h.

◆ rxFragQueueLen

size_t rxFragQueueLen

Length of the reassembly queue.

Definition at line 2360 of file tls.h.

◆ rxMsgSeq

uint16_t rxMsgSeq

Next receive sequence number.

Definition at line 2359 of file tls.h.

◆ rxRecordLen

size_t rxRecordLen

Length of the TLS record.

Definition at line 2174 of file tls.h.

◆ rxRecordPos

size_t rxRecordPos

Current position in the TLS record.

Definition at line 2175 of file tls.h.

◆ rxRecordVersion

uint16_t rxRecordVersion

Version of the incoming record.

Definition at line 2363 of file tls.h.

◆ secret

uint8_t secret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2217 of file tls.h.

◆ secureRenegoEnabled

bool_t secureRenegoEnabled

Secure renegotiation enabled.

Definition at line 2315 of file tls.h.

◆ secureRenegoFlag

bool_t secureRenegoFlag

Secure renegotiation flag.

Definition at line 2316 of file tls.h.

◆ selectedIdentity

int_t selectedIdentity

Selected PSK identity.

Definition at line 2214 of file tls.h.

◆ selectedProtocol

char_t* selectedProtocol

Selected ALPN protocol.

Definition at line 2289 of file tls.h.

◆ serverAppTrafficSecret

uint8_t serverAppTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2222 of file tls.h.

◆ serverCertTypeExtReceived

bool_t serverCertTypeExtReceived

The ServerCertType extension has been received.

Definition at line 2302 of file tls.h.

◆ serverHsTrafficSecret

uint8_t serverHsTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE]

Definition at line 2220 of file tls.h.

◆ serverName

char_t* serverName

Fully qualified DNS hostname of the server.

Definition at line 2110 of file tls.h.

◆ serverRandom

uint8_t serverRandom[TLS_RANDOM_SIZE]

Server random value.

Definition at line 2178 of file tls.h.

◆ serverVerifyData

uint8_t serverVerifyData[64]

Server verify data.

Definition at line 2183 of file tls.h.

◆ serverVerifyDataLen

size_t serverVerifyDataLen

Length of the server verify data.

Definition at line 2184 of file tls.h.

◆ sessionId

uint8_t sessionId[32]

Session identifier.

Definition at line 2127 of file tls.h.

◆ sessionIdLen

size_t sessionIdLen

Length of the session identifier.

Definition at line 2128 of file tls.h.

◆ sessionTicketEnabled

bool_t sessionTicketEnabled

Session ticket mechanism enabled.

Definition at line 2306 of file tls.h.

◆ sessionTicketExtReceived

bool_t sessionTicketExtReceived

The SessionTicket extension has been received.

Definition at line 2307 of file tls.h.

◆ sessionTicketExtSent

bool_t sessionTicketExtSent

The SessionTicket extension has been sent.

Definition at line 2308 of file tls.h.

◆ signAlgo

TlsSignatureAlgo signAlgo

Signature algorithm to be used.

Definition at line 2145 of file tls.h.

◆ signHashAlgo

TlsHashAlgo signHashAlgo

Hash algorithm used for signing.

Definition at line 2146 of file tls.h.

◆ socketHandle

TlsSocketHandle socketHandle

Socket handle.

Definition at line 2097 of file tls.h.

◆ socketReceiveCallback

TlsSocketReceiveCallback socketReceiveCallback

Socket receive callback function.

Definition at line 2099 of file tls.h.

◆ socketSendCallback

TlsSocketSendCallback socketSendCallback

Socket send callback function.

Definition at line 2098 of file tls.h.

◆ startTime

systime_t startTime

Definition at line 2346 of file tls.h.

◆ state

TlsState state

TLS handshake finite state machine.

Definition at line 2093 of file tls.h.

◆ supportedGroups

const uint16_t* supportedGroups

List of supported named groups.

Definition at line 2107 of file tls.h.

◆ ticket

uint8_t* ticket

Session ticket.

Definition at line 2138 of file tls.h.

◆ ticketAgeAdd

uint32_t ticketAgeAdd

Random value used to obscure the age of the ticket.

Definition at line 2230 of file tls.h.

◆ ticketAlpn

char_t* ticketAlpn

ALPN protocol associated with the ticket.

Definition at line 2234 of file tls.h.

◆ ticketCipherSuite

uint16_t ticketCipherSuite

Cipher suite associated with the ticket.

Definition at line 2232 of file tls.h.

◆ ticketDecryptCallback

TlsTicketDecryptCallback ticketDecryptCallback

Ticket decryption callback function.

Definition at line 2310 of file tls.h.

◆ ticketEncryptCallback

TlsTicketEncryptCallback ticketEncryptCallback

Ticket encryption callback function.

Definition at line 2309 of file tls.h.

◆ ticketHashAlgo

TlsHashAlgo ticketHashAlgo

Hash algorithm associated with the ticket.

Definition at line 2233 of file tls.h.

◆ ticketLen

size_t ticketLen

Length of the session ticket.

Definition at line 2139 of file tls.h.

◆ ticketLifetime

uint32_t ticketLifetime

Lifetime of the ticket.

Definition at line 2141 of file tls.h.

◆ ticketNonce

uint32_t ticketNonce

A per-ticket value that is unique across all tickets issued.

Definition at line 2231 of file tls.h.

◆ ticketParam

void* ticketParam

Opaque pointer passed to the ticket callbacks.

Definition at line 2311 of file tls.h.

◆ ticketPsk

uint8_t ticketPsk[TLS_MAX_HKDF_DIGEST_SIZE]

PSK associated with the ticket.

Definition at line 2228 of file tls.h.

◆ ticketPskLen

size_t ticketPskLen

Length of the PSK associated with the ticket.

Definition at line 2229 of file tls.h.

◆ ticketTimestamp

systime_t ticketTimestamp

Timestamp to manage ticket lifetime.

Definition at line 2140 of file tls.h.

◆ timeout

systime_t timeout

Timeout for blocking calls.

Definition at line 2345 of file tls.h.

◆ transcriptHashContext

HashContext* transcriptHashContext

Hash context used to compute verify data.

Definition at line 2205 of file tls.h.

◆ transcriptSha1Context

Sha1Context* transcriptSha1Context

SHA-1 context used to compute verify data.

Definition at line 2201 of file tls.h.

◆ transportProtocol

TlsTransportProtocol transportProtocol

Transport protocol (stream or datagram)

Definition at line 2094 of file tls.h.

◆ trustedCaList

const char_t* trustedCaList

List of trusted CA (PEM format)

Definition at line 2120 of file tls.h.

◆ trustedCaListLen

size_t trustedCaListLen

Number of trusted CA in the list.

Definition at line 2121 of file tls.h.

◆ txBuffer

uint8_t* txBuffer

TX buffer.

Definition at line 2159 of file tls.h.

◆ txBufferLen

size_t txBufferLen

Number of bytes that are pending to be sent.

Definition at line 2163 of file tls.h.

◆ txBufferMaxLen

size_t txBufferMaxLen

Maximum number of plaintext data the TX buffer can hold.

Definition at line 2161 of file tls.h.

◆ txBufferPos

size_t txBufferPos

Current position in TX buffer.

Definition at line 2164 of file tls.h.

◆ txBufferSize

size_t txBufferSize

TX buffer size.

Definition at line 2160 of file tls.h.

◆ txBufferType

TlsContentType txBufferType

Type of data that resides in the TX buffer.

Definition at line 2162 of file tls.h.

◆ txDatagramLen

size_t txDatagramLen

Length of the outgoing datagram, in bytes.

Definition at line 2357 of file tls.h.

◆ txMsgSeq

uint16_t txMsgSeq

Send sequence number.

Definition at line 2356 of file tls.h.

◆ txRecordLen

size_t txRecordLen

Length of the TLS record.

Definition at line 2165 of file tls.h.

◆ txRecordPos

size_t txRecordPos

Current position in the TLS record.

Definition at line 2166 of file tls.h.

◆ unknownProtocolsAllowed

bool_t unknownProtocolsAllowed

Unknown ALPN protocols allowed.

Definition at line 2287 of file tls.h.

◆ updatedClientHelloReceived

bool_t updatedClientHelloReceived

An updated ClientHello message has been received.

Definition at line 2211 of file tls.h.

◆ version

uint16_t version

Negotiated TLS version.

Definition at line 2131 of file tls.h.

◆ versionMax

uint16_t versionMax

Maximum version accepted by the implementation.

Definition at line 2133 of file tls.h.

◆ versionMin

uint16_t versionMin

Minimum version accepted by the implementation.

Definition at line 2132 of file tls.h.


The documentation for this struct was generated from the following file: