21#include "hitls_build.h"
25#include "tls_config.h"
32TLS_SessionMgr *SESSMGR_New(HITLS_Lib_Ctx *libCtx);
35TLS_SessionMgr *SESSMGR_Dup(TLS_SessionMgr *mgr);
38void SESSMGR_Free(TLS_SessionMgr *mgr);
41void SESSMGR_SetTimeout(TLS_SessionMgr *mgr, uint64_t sessTimeout);
44uint64_t SESSMGR_GetTimeout(TLS_SessionMgr *mgr);
47void SESSMGR_SetCacheMode(TLS_SessionMgr *mgr, uint32_t mode);
50uint32_t SESSMGR_GetCacheMode(TLS_SessionMgr *mgr);
53void SESSMGR_SetCacheSize(TLS_SessionMgr *mgr, uint32_t sessCacheSize);
56uint32_t SESSMGR_GetCacheSize(TLS_SessionMgr *mgr);
59void SESSMGR_InsertSession(TLS_SessionMgr *mgr, HITLS_Session *sess,
bool isStore);
62HITLS_Session *SESSMGR_Find(TLS_Ctx *ctx, uint8_t *sessionId, uint8_t sessionIdSize);
65bool SESSMGR_HasMacthSessionId(TLS_SessionMgr *mgr, uint8_t *sessionId, uint8_t sessionIdSize);
68void SESSMGR_ClearTimeout(
HITLS_Config *config, uint64_t time);
70int32_t SESSMGR_RemoveSession(
HITLS_Config *config, HITLS_Session *sess);
73int32_t SESSMGR_GernerateSessionId(TLS_Ctx *ctx, uint8_t *sessionId, uint32_t sessionIdSize);
93int32_t SESSMGR_GetTicketKey(
const TLS_SessionMgr *mgr, uint8_t *key, uint32_t keySize, uint32_t *outSize);
108int32_t SESSMGR_SetTicketKey(TLS_SessionMgr *mgr,
const uint8_t *key, uint32_t keySize);
121int32_t SESSMGR_EncryptSessionTicket(TLS_Ctx *ctx,
const TLS_SessionMgr *sessMgr,
const HITLS_Session *sess,
122 uint8_t **ticketBuf, uint32_t *ticketBufSize);
148int32_t SESSMGR_DecryptSessionTicket(HITLS_Lib_Ctx *libCtx,
const char *attrName,
149 const TLS_SessionMgr *sessMgr, HITLS_Session **sess,
const uint8_t *ticketBuf,
150 uint32_t ticketBufSize,
bool *isTicketExcept);
int32_t(* HITLS_TicketKeyCb)(uint8_t *keyName, uint32_t keyNameSize, HITLS_CipherParameters *cipher, uint8_t isEncrypt)
Obtain and verify ticket_key on the server.
定义 hitls_session.h:259
struct TlsConfig HITLS_Config
config context
定义 hitls_type.h:41