_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... | |
TlsStateChangeCallback | stateChangeCallback |
TLS state change callback function. More... | |
TlsSocketHandle | socketHandle |
Socket handle. More... | |
TlsSocketSendCallback | socketSendCallback |
Socket send callback function. More... | |
TlsSocketReceiveCallback | socketReceiveCallback |
Socket receive callback function. More... | |
const PrngAlgo * | prngAlgo |
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_t * | serverName |
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_t * | trustedCaList |
Trusted CA list (PEM format) More... | |
size_t | trustedCaListLen |
Total length of the trusted CA list. More... | |
TlsCertVerifyCallback | certVerifyCallback |
Certificate verification callback function. More... | |
void * | certVerifyParam |
Opaque pointer passed to the certificate verification callback. More... | |
TlsCertDesc * | cert |
Pointer to the currently selected certificate. More... | |
TlsCache * | cache |
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... | |
uint_t | cipherSuiteTypes |
Types of cipher suites proposed by the client. More... | |
TlsCipherSuiteInfo | cipherSuite |
Negotiated cipher suite. More... | |
TlsKeyExchMethod | keyExchMethod |
Key exchange method. More... | |
TlsSignatureScheme | signScheme |
Signature scheme to be used. 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... | |
Sha1Context * | transcriptSha1Context |
SHA-1 context used to compute verify data. More... | |
const uint16_t * | supportedSignAlgos |
List of supported signature algorithms. More... | |
uint_t | numSupportedSignAlgos |
Number of signature algorithms in the list. More... | |
HashContext * | transcriptHashContext |
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_t * | ticketAlpn |
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... | |
KemContext | kemContext |
KEM context. 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_t * | pskIdentity |
PSK identity. More... | |
char_t * | pskIdentityHint |
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_t * | protocolList |
List of supported ALPN protocols. More... | |
char_t * | selectedProtocol |
Selected ALPN protocol. More... | |
TlsAlpnCallback | alpnCallback |
ALPN callback function. More... | |
bool_t | etmExtReceived |
The EncryptThenMac extension has been received. 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
Field Documentation
◆ alertCount
◆ alpnCallback
TlsAlpnCallback alpnCallback |
◆ cache
◆ cert
TlsCertDesc* cert |
◆ certFormat
TlsCertificateFormat certFormat |
◆ certRequestContext
◆ certRequestContextLen
size_t certRequestContextLen |
◆ certs
TlsCertDesc certs[TLS_MAX_CERTIFICATES] |
◆ certVerifyCallback
TlsCertVerifyCallback certVerifyCallback |
◆ certVerifyParam
void* certVerifyParam |
◆ changeCipherSpecCount
uint_t changeCipherSpecCount |
◆ cipherSuite
TlsCipherSuiteInfo cipherSuite |
◆ cipherSuites
const uint16_t* cipherSuites |
◆ cipherSuiteTypes
uint_t cipherSuiteTypes |
◆ clientAppTrafficSecret
uint8_t clientAppTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ clientAuthMode
TlsClientAuthMode clientAuthMode |
◆ clientCertRequested
bool_t clientCertRequested |
◆ clientCertTypeExtReceived
bool_t clientCertTypeExtReceived |
◆ clientEarlyTrafficSecret
uint8_t clientEarlyTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ clientHelloTimestamp
systime_t clientHelloTimestamp |
◆ clientHsTrafficSecret
uint8_t clientHsTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ clientRandom
uint8_t clientRandom[TLS_RANDOM_SIZE] |
◆ clientVerifyData
◆ clientVerifyDataLen
◆ clientVersion
uint16_t clientVersion |
◆ closeNotifyReceived
bool_t closeNotifyReceived |
◆ closeNotifySent
◆ cookie
◆ cookieGenerateCallback
DtlsCookieGenerateCallback cookieGenerateCallback |
◆ cookieLen
◆ cookieParam
void* cookieParam |
◆ cookieVerifyCallback
DtlsCookieVerifyCallback cookieVerifyCallback |
◆ decryptionEngine
TlsEncryptionEngine decryptionEngine |
◆ dhContext
◆ earlyDataEnabled
◆ earlyDataExtReceived
bool_t earlyDataExtReceived |
◆ earlyDataLen
size_t earlyDataLen |
◆ earlyDataRejected
bool_t earlyDataRejected |
◆ earlyDataSeqNum
TlsSequenceNumber earlyDataSeqNum |
◆ ecdhCallback
TlsEcdhCallback ecdhCallback |
◆ ecdhContext
EcdhContext ecdhContext |
◆ ecdsaSignCallback
TlsEcdsaSignCallback ecdsaSignCallback |
◆ ecdsaVerifyCallback
TlsEcdsaVerifyCallback ecdsaVerifyCallback |
◆ ecPointFormatsExtReceived
bool_t ecPointFormatsExtReceived |
◆ emptyRecordCount
◆ emsExtReceived
bool_t emsExtReceived |
◆ encryptionEngine
TlsEncryptionEngine encryptionEngine |
◆ entity
TlsConnectionEnd entity |
◆ etmExtReceived
bool_t etmExtReceived |
◆ exporterMasterSecret
uint8_t exporterMasterSecret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ fallbackScsvEnabled
◆ fatalAlertReceived
bool_t fatalAlertReceived |
◆ fatalAlertSent
◆ hmacContext
HmacContext hmacContext |
◆ kemContext
KemContext kemContext |
◆ keyBlock
◆ keyExchMethod
TlsKeyExchMethod keyExchMethod |
◆ keyLogCallback
TlsKeyLogCallback keyLogCallback |
◆ keyUpdateCount
uint_t keyUpdateCount |
◆ masterSecret
uint8_t masterSecret[TLS_MASTER_SECRET_SIZE] |
◆ maxEarlyDataSize
size_t maxEarlyDataSize |
◆ maxFragLen
◆ maxFragLenExtReceived
bool_t maxFragLenExtReceived |
◆ namedGroup
◆ newSessionTicketCount
uint_t newSessionTicketCount |
◆ numCerts
◆ numCipherSuites
◆ numSupportedGroups
uint_t numSupportedGroups |
◆ numSupportedSignAlgos
uint_t numSupportedSignAlgos |
◆ peerCertFormat
TlsCertificateFormat peerCertFormat |
◆ peerCertType
TlsCertificateType peerCertType |
◆ peerDsaPublicKey
DsaPublicKey peerDsaPublicKey |
◆ peerEcParams
EcDomainParameters peerEcParams |
◆ peerEcPublicKey
EcPublicKey peerEcPublicKey |
◆ peerRsaPublicKey
RsaPublicKey peerRsaPublicKey |
◆ pmtu
◆ preferredGroup
uint16_t preferredGroup |
◆ premasterSecret
uint8_t premasterSecret[TLS_PREMASTER_SECRET_SIZE] |
◆ premasterSecretLen
◆ prevEncryptionEngine
TlsEncryptionEngine prevEncryptionEngine |
◆ prngAlgo
const PrngAlgo* prngAlgo |
◆ prngContext
◆ protocolList
◆ psk
◆ pskCallback
TlsPskCallback pskCallback |
◆ pskCipherSuite
uint16_t pskCipherSuite |
◆ pskHashAlgo
TlsHashAlgo pskHashAlgo |
◆ pskIdentity
◆ pskIdentityHint
◆ pskKeModeSupported
bool_t pskKeModeSupported |
◆ pskLen
◆ recordSizeLimit
size_t recordSizeLimit |
◆ recordSizeLimitExtReceived
bool_t recordSizeLimitExtReceived |
◆ replayDetectionEnabled
◆ replayWindow
uint32_t replayWindow[(DTLS_REPLAY_WINDOW_SIZE+31)/32] |
◆ resume
bool_t resume |
◆ resumptionMasterSecret
uint8_t resumptionMasterSecret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ retransmitCount
◆ retransmitTimeout
◆ retransmitTimestamp
systime_t retransmitTimestamp |
◆ rpkVerifyCallback
TlsRpkVerifyCallback rpkVerifyCallback |
◆ rxBuffer
◆ rxBufferLen
◆ rxBufferMaxLen
size_t rxBufferMaxLen |
◆ rxBufferPos
◆ rxBufferSize
◆ rxBufferType
TlsContentType rxBufferType |
◆ rxDatagramLen
size_t rxDatagramLen |
◆ rxDatagramPos
◆ rxFragQueueLen
◆ rxMsgSeq
◆ rxRecordLen
◆ rxRecordPos
◆ rxRecordVersion
◆ secret
uint8_t secret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ secureRenegoEnabled
◆ secureRenegoFlag
◆ selectedIdentity
◆ selectedProtocol
◆ serverAppTrafficSecret
uint8_t serverAppTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ serverCertTypeExtReceived
bool_t serverCertTypeExtReceived |
◆ serverHsTrafficSecret
uint8_t serverHsTrafficSecret[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ serverName
char_t* serverName |
◆ serverRandom
uint8_t serverRandom[TLS_RANDOM_SIZE] |
◆ serverVerifyData
◆ serverVerifyDataLen
◆ sessionId
◆ sessionIdLen
◆ sessionTicketEnabled
bool_t sessionTicketEnabled |
◆ sessionTicketExtReceived
bool_t sessionTicketExtReceived |
◆ sessionTicketExtSent
bool_t sessionTicketExtSent |
◆ signScheme
TlsSignatureScheme signScheme |
◆ socketHandle
TlsSocketHandle socketHandle |
◆ socketReceiveCallback
TlsSocketReceiveCallback socketReceiveCallback |
◆ socketSendCallback
TlsSocketSendCallback socketSendCallback |
◆ startTime
◆ state
◆ stateChangeCallback
TlsStateChangeCallback stateChangeCallback |
◆ supportedGroups
const uint16_t* supportedGroups |
◆ supportedSignAlgos
const uint16_t* supportedSignAlgos |
◆ ticket
◆ ticketAgeAdd
uint32_t ticketAgeAdd |
◆ ticketAlpn
◆ ticketCipherSuite
uint16_t ticketCipherSuite |
◆ ticketDecryptCallback
TlsTicketDecryptCallback ticketDecryptCallback |
◆ ticketEncryptCallback
TlsTicketEncryptCallback ticketEncryptCallback |
◆ ticketHashAlgo
TlsHashAlgo ticketHashAlgo |
◆ ticketLen
◆ ticketLifetime
◆ ticketNonce
uint32_t ticketNonce |
◆ ticketParam
void* ticketParam |
◆ ticketPsk
uint8_t ticketPsk[TLS_MAX_HKDF_DIGEST_SIZE] |
◆ ticketPskLen
size_t ticketPskLen |
◆ ticketTimestamp
systime_t ticketTimestamp |
◆ timeout
◆ transcriptHashContext
HashContext* transcriptHashContext |
◆ transcriptSha1Context
Sha1Context* transcriptSha1Context |
◆ transportProtocol
TlsTransportProtocol transportProtocol |
◆ trustedCaList
◆ trustedCaListLen
◆ txBuffer
◆ txBufferLen
size_t txBufferLen |
◆ txBufferMaxLen
size_t txBufferMaxLen |
◆ txBufferPos
◆ txBufferSize
◆ txBufferType
TlsContentType txBufferType |
◆ txDatagramLen
size_t txDatagramLen |
◆ txMsgSeq
◆ txRecordLen
◆ txRecordPos
◆ unknownProtocolsAllowed
bool_t unknownProtocolsAllowed |
◆ updatedClientHelloReceived
bool_t updatedClientHelloReceived |
◆ version
◆ versionMax
uint16_t versionMax |
◆ versionMin
uint16_t versionMin |
The documentation for this struct was generated from the following file:
- cyclone_ssl/tls.h