Amazon Kinesis Webrtc C SDK
Tls_openssl.c File Reference
#include "../Include_i.h"
Include dependency graph for Tls_openssl.c:

Macros

#define LOG_CLASS   "TLS_openssl"
 

Functions

STATUS createTlsSession (PTlsSessionCallbacks pCallbacks, PTlsSession *ppTlsSession)
 
STATUS freeTlsSession (PTlsSession *ppTlsSession)
 
INT32 tlsSessionCertificateVerifyCallback (INT32 preverify_ok, X509_STORE_CTX *ctx)
 
STATUS tlsSessionStart (PTlsSession pTlsSession, BOOL isServer)
 
STATUS tlsSessionProcessPacket (PTlsSession pTlsSession, PBYTE pData, UINT32 bufferLen, PUINT32 pDataLen)
 
STATUS tlsSessionPutApplicationData (PTlsSession pTlsSession, PBYTE pData, UINT32 dataLen)
 
STATUS tlsSessionShutdown (PTlsSession pTlsSession)
 

Macro Definition Documentation

◆ LOG_CLASS

#define LOG_CLASS   "TLS_openssl"

Kinesis Video TLS

Function Documentation

◆ createTlsSession()

STATUS createTlsSession ( PTlsSessionCallbacks  pCallbacks,
PTlsSession ppTlsSession 
)

Create TLS session. NOT THREAD SAFE.

Parameters
PTlsSessionCallbacks- callbacks
PTlsSession*- pointer to created TlsSession object
Returns
STATUS - status of operation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ freeTlsSession()

STATUS freeTlsSession ( PTlsSession ppTlsSession)

Free TLS session. Not thread safe.

Parameters
PTlsSession- TlsSession object to free
Returns
STATUS - status of operation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tlsSessionCertificateVerifyCallback()

INT32 tlsSessionCertificateVerifyCallback ( INT32  preverify_ok,
X509_STORE_CTX *  ctx 
)
Here is the caller graph for this function:

◆ tlsSessionProcessPacket()

STATUS tlsSessionProcessPacket ( PTlsSession  pTlsSession,
PBYTE  pData,
UINT32  bufferLen,
PUINT32  pDataLen 
)

Decrypt application data up to specified bytes. The decrypted data will be copied back to the original buffer. During handshaking, the return data size should be always 0 since there's no application data yet. NOT THREAD SAFE.

Parameters
PTlsSession- TlsSession object
PBYTE- encrypted data
UINT32- the size of buffer that PBYTE is pointing to
PUINT32- pointer to the size of encrypted data and will be used to store the size of application data
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tlsSessionPutApplicationData()

STATUS tlsSessionPutApplicationData ( PTlsSession  pTlsSession,
PBYTE  pData,
UINT32  dataLen 
)

Encrypt application data up to specified bytes. The encrypted data will be sent through specified callback during initialization. If NULL is specified, it'll only check for pending handshake buffer. NOT THREAD SAFE.

Parameters
PTlsSession- TlsSession object
PBYTE- plain data
UINT32- the size of encrypted data
Here is the call graph for this function:
Here is the caller graph for this function:

◆ tlsSessionShutdown()

STATUS tlsSessionShutdown ( PTlsSession  pTlsSession)

Mark Tls session to be closed NOT THREAD SAFE.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tlsSessionStart()

STATUS tlsSessionStart ( PTlsSession  pTlsSession,
BOOL  isServer 
)

Start TLS handshake. NOT THREAD SAFE.

Parameters
PTlsSession- TlsSession object
BOOL- is server
Returns
STATUS - status of operation
Here is the call graph for this function:
Here is the caller graph for this function: