openHiTLS API openHiTLS 0.1.0-Alpha1
宏定义 | 类型定义 | 函数
Hitls_session

TLS session 更多...

Hitls_session 的协作图:

宏定义

#define HITLS_SESSION_ID_CTX_MAX_SIZE   32u
 Session id Maximum size of the CTX.
 
#define HITLS_SESSION_ID_MAX_SIZE   32u
 Maximum size of a session ID
 

类型定义

typedef int32_t(* HITLS_NewSessionCb) (HITLS_Ctx *ctx, HITLS_Session *session)
 This callback is called when a new session is negotiated. Users can use sessions.
 
typedef int32_t(* HITLS_TicketKeyCb) (uint8_t *keyName, uint32_t keyNameSize, HITLS_CipherParameters *cipher, uint8_t isEncrypt)
 Obtain and verify ticket_key on the server.
 

函数

int32_t HITLS_CFG_SetSessionTicketSupport (HITLS_Config *config, bool support)
 Set whether to support the session ticket function.
 
int32_t HITLS_CFG_GetSessionTicketSupport (const HITLS_Config *config, uint8_t *isSupport)
 Query whether the session ticket function is supported.
 
int32_t HITLS_CFG_SetTicketNums (HITLS_Config *config, uint32_t ticketNums)
 Setting TLS1.3, number of new session tickets sent after a complete link is established.
 
uint32_t HITLS_CFG_GetTicketNums (HITLS_Config *config)
 Obtain TLS1.3, number of new session tickets sent after complete link establishment.
 
int32_t HITLS_SetTicketNums (HITLS_Ctx *ctx, uint32_t ticketNums)
 Setting TLS1.3, number of new session tickets sent after complete link establishment.
 
uint32_t HITLS_GetTicketNums (HITLS_Ctx *ctx)
 Obtain TLS1.3, Number of new session tickets sent after complete link establishment.
 
int32_t HITLS_CFG_SetNewSessionCb (HITLS_Config *config, HITLS_NewSessionCb newSessionCb)
 Set a callback for negotiating a new session call.
 
int32_t HITLS_CFG_SetTicketKeyCallback (HITLS_Config *config, HITLS_TicketKeyCb callback)
 Set the ticket key callback, which is used only by the server, cb can be NULL.
 
int32_t HITLS_CFG_GetSessionTicketKey (const HITLS_Config *config, uint8_t *key, uint32_t keySize, uint32_t *outSize)
 Obtain the default ticket key of the HiTLS.
 
int32_t HITLS_CFG_SetSessionTicketKey (HITLS_Config *config, const uint8_t *key, uint32_t keySize)
 Set the default ticket key of the HiTLS. The key is used to encrypt and decrypt tickets in the new session ticket when the HITLS_TicketKeyCb callback function is not set.
 
int32_t HITLS_CFG_SetSessionIdCtx (HITLS_Config *config, const uint8_t *sessionIdCtx, uint32_t len)
 Set the user-specific session ID ctx, only on the server.
 
int32_t HITLS_CFG_SetSessionCacheMode (HITLS_Config *config, HITLS_SESS_CACHE_MODE mode)
 Set the session cache mode.
 
int32_t HITLS_CFG_GetSessionCacheMode (HITLS_Config *config, HITLS_SESS_CACHE_MODE *mode)
 Obtain the session cache mode.
 
int32_t HITLS_CFG_SetSessionCacheSize (HITLS_Config *config, uint32_t size)
 Set the maximum number of sessions in the session cache.
 
int32_t HITLS_CFG_GetSessionCacheSize (HITLS_Config *config, uint32_t *size)
 Obtain the maximum number of sessions in the session cache.
 
int32_t HITLS_CFG_SetSessionTimeout (HITLS_Config *config, uint64_t timeout)
 Set the session timeout interval.
 
int32_t HITLS_CFG_GetSessionTimeout (const HITLS_Config *config, uint64_t *timeout)
 Obtain the timeout interval of a session.
 
int32_t HITLS_IsSessionReused (HITLS_Ctx *ctx, uint8_t *isReused)
 Whether the link is multiplexed with a session.
 
int32_t HITLS_SetSessionIdCtx (HITLS_Ctx *ctx, const uint8_t *sessionIdCtx, uint32_t len)
 Set the user-specific session ID ctx of the HiTLS link, only on the server.
 
int32_t HITLS_GetSessionTicketKey (const HITLS_Ctx *ctx, uint8_t *key, uint32_t keySize, uint32_t *outSize)
 Obtain the default ticket key of the HiTLS.
 
int32_t HITLS_SetSessionTicketKey (HITLS_Ctx *ctx, const uint8_t *key, uint32_t keySize)
 Set the default ticket key of the HiTLS. The key is used to encrypt and decrypt the ticket in the new session ticket when the HITLS_TicketKeyCb callback function is not set.
 
int32_t HITLS_SetSession (HITLS_Ctx *ctx, HITLS_Session *session)
 Set the handle for the session information about the HiTLS link.
 
HITLS_SessionHITLS_GetSession (const HITLS_Ctx *ctx)
 Obtain the handle of the session information and directly obtain the pointer.
 
HITLS_SessionHITLS_GetDupSession (HITLS_Ctx *ctx)
 Obtain the handle of the copied session information.
 
HITLS_SessionHITLS_SESS_New (void)
 Apply for a new session.
 
HITLS_SessionHITLS_SESS_Dup (HITLS_Session *sess)
 Duplicate a session, the number of reference times increases by 1.
 
void HITLS_SESS_Free (HITLS_Session *sess)
 Release the session information handle.
 
int32_t HITLS_SESS_SetMasterKey (HITLS_Session *sess, const uint8_t *masterKey, uint32_t masterKeySize)
 Set the master key of a session.
 
uint32_t HITLS_SESS_GetMasterKeyLen (const HITLS_Session *sess)
 Obtain the master key length of a session.
 
int32_t HITLS_SESS_GetMasterKey (const HITLS_Session *sess, uint8_t *masterKey, uint32_t *masterKeySize)
 Obtain the master key of a session.
 
int32_t HITLS_SESS_GetProtocolVersion (const HITLS_Session *sess, uint16_t *version)
 Obtain the session protocol version.
 
int32_t HITLS_SESS_SetProtocolVersion (HITLS_Session *sess, uint16_t version)
 Set the session protocol version.
 
int32_t HITLS_SESS_SetCipherSuite (HITLS_Session *sess, uint16_t cipherSuite)
 Set the session password suite.
 
int32_t HITLS_SESS_GetCipherSuite (HITLS_Session *sess, uint16_t *cipherSuite)
 Obtain the session password suite.
 
int32_t HITLS_SESS_SetSessionIdCtx (HITLS_Session *sess, uint8_t *sessionIdCtx, uint32_t sessionIdCtxSize)
 Set the session ID ctx.
 
int32_t HITLS_SESS_GetSessionIdCtx (const HITLS_Session *sess, uint8_t *sessionIdCtx, uint32_t *sessionIdCtxSize)
 Obtain the session ID ctx.
 
int32_t HITLS_SESS_SetSessionId (HITLS_Session *sess, uint8_t *sessionId, uint32_t sessionIdSize)
 Set the session ID.
 
int32_t HITLS_SESS_GetSessionId (const HITLS_Session *sess, uint8_t *sessionId, uint32_t *sessionIdSize)
 Obtain the session ID.
 
int32_t HITLS_SESS_SetHaveExtMasterSecret (HITLS_Session *sess, uint8_t haveExtMasterSecret)
 Set whether to contain the master key extension.
 
int32_t HITLS_SESS_GetHaveExtMasterSecret (HITLS_Session *sess, uint8_t *haveExtMasterSecret)
 Obtain the master key extension.
 
int32_t HITLS_SESS_SetTimeout (HITLS_Session *sess, uint64_t timeout)
 Set the timeout interval, in seconds.
 
bool HITLS_SESS_IsResumable (const HITLS_Session *sess)
 Check whether the session can be recovered. Only simple check is performed, but the validity period is not checked.
 
bool HITLS_SESS_HasTicket (const HITLS_Session *sess)
 Check whether the session has a ticket.
 

详细描述

TLS session