Amazon Kinesis Webrtc C SDK
Loading...
Searching...
No Matches
Dtls_openssl.c File Reference
#include "../Include_i.h"
Include dependency graph for Dtls_openssl.c:

Macros

#define LOG_CLASS   "DTLS_openssl"

Functions

INT32 dtlsCertificateVerifyCallback (INT32 preverify_ok, X509_STORE_CTX *ctx)
STATUS dtlsSessionConfigureStrictHostnameValidation (PDtlsSession pDtlsSession)
STATUS dtlsSessionConfigureRemoteCertificateValidation (PDtlsSession pDtlsSession)
STATUS dtlsSessionCheckRemoteCertificateVerification (PDtlsSession pDtlsSession)
VOID acquireDtlsSession (PDtlsSession pDtlsSession)
VOID releaseDtlsSession (PDtlsSession pDtlsSession)
STATUS dtlsCertificateFingerprint (X509 *pCertificate, PCHAR pBuff)
STATUS dtlsTransmissionTimerCallback (UINT32 timerID, UINT64 currentTime, UINT64 customData)
STATUS createCertificateAndKey (INT32 certificateBits, BOOL generateRSACertificate, X509 **ppCert, EVP_PKEY **ppPkey)
STATUS createSslCtx (PDtlsSessionCertificateInfo pCertificates, UINT32 certCount, SSL_CTX **ppSslCtx)
STATUS createSsl (SSL_CTX *pSslCtx, SSL **ppSsl)
STATUS freeCertificateAndKey (X509 **ppCert, EVP_PKEY **ppPkey)
STATUS createDtlsSession (PDtlsSessionCallbacks pDtlsSessionCallbacks, TIMER_QUEUE_HANDLE timerQueueHandle, INT32 certificateBits, BOOL generateRSACertificate, PRtcCertificate pRtcCertificates, PDtlsSession *ppDtlsSession)
STATUS createDtlsSessionWithOptions (PDtlsSessionCallbacks pDtlsSessionCallbacks, TIMER_QUEUE_HANDLE timerQueueHandle, INT32 certificateBits, BOOL generateRSACertificate, PRtcCertificate pRtcCertificates, PDtlsSessionOptions pDtlsSessionOptions, PDtlsSession *ppDtlsSession)
STATUS dtlsGenerateCertificateFingerprints (PDtlsSession pDtlsSession, PDtlsSessionCertificateInfo pDtlsSessionCertificateInfo)
STATUS beginHandshakeProcess (PDtlsSession pDtlsSession, BOOL isServer, PINT32 sslRet)
STATUS dtlsSessionStart (PDtlsSession pDtlsSession, BOOL isServer)
STATUS dtlsSessionHandshakeInThread (PDtlsSession pDtlsSession, BOOL isServer)
STATUS freeDtlsSession (PDtlsSession *ppDtlsSession)
STATUS dtlsSessionProcessPacket (PDtlsSession pDtlsSession, PBYTE pData, PINT32 pDataLen)
STATUS dtlsSessionPutApplicationData (PDtlsSession pDtlsSession, PBYTE pData, INT32 dataLen)
STATUS dtlsSessionShutdown (PDtlsSession pDtlsSession)
STATUS dtlsCheckOutgoingDataBuffer (PDtlsSession pDtlsSession)
STATUS dtlsSessionIsInitFinished (PDtlsSession pDtlsSession, PBOOL pIsConnected)
STATUS dtlsSessionPopulateKeyingMaterial (PDtlsSession pDtlsSession, PDtlsKeyingMaterial pDtlsKeyingMaterial)
STATUS dtlsSessionGetLocalCertificateFingerprint (PDtlsSession pDtlsSession, PCHAR pBuff, UINT32 buffLen)
STATUS dtlsSessionVerifyRemoteCertificateFingerprint (PDtlsSession pDtlsSession, PCHAR pExpectedFingerprint)

Macro Definition Documentation

◆ LOG_CLASS

#define LOG_CLASS   "DTLS_openssl"

Function Documentation

◆ acquireDtlsSession()

VOID acquireDtlsSession ( PDtlsSession pDtlsSession)
Here is the caller graph for this function:

◆ beginHandshakeProcess()

STATUS beginHandshakeProcess ( PDtlsSession pDtlsSession,
BOOL isServer,
PINT32 sslRet )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createCertificateAndKey()

STATUS createCertificateAndKey ( INT32 certificateBits,
BOOL generateRSACertificate,
X509 ** ppCert,
EVP_PKEY ** ppPkey )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createDtlsSession()

STATUS createDtlsSession ( PDtlsSessionCallbacks pDtlsSessionCallbacks,
TIMER_QUEUE_HANDLE timerQueueHandle,
INT32 certificateBits,
BOOL generateRSACertificate,
PRtcCertificate pRtcCertificates,
PDtlsSession * ppDtlsSession )

Create DTLS session. Not thread safe.

Parameters
PDtlsSessionCallbacks- callbacks
TIMER_QUEUE_HANDLE- timer handle to schedule timer task with
INT32- size of generated certificate
BOOL- whether to generate certificate or not
PRtcCertificate- user provided certificate
PDtlsSession*- pointer to created DtlsSession object
Returns
STATUS - status of operation
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createDtlsSessionWithOptions()

STATUS createDtlsSessionWithOptions ( PDtlsSessionCallbacks pDtlsSessionCallbacks,
TIMER_QUEUE_HANDLE timerQueueHandle,
INT32 certificateBits,
BOOL generateRSACertificate,
PRtcCertificate pRtcCertificates,
PDtlsSessionOptions pDtlsSessionOptions,
PDtlsSession * ppDtlsSession )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createSsl()

STATUS createSsl ( SSL_CTX * pSslCtx,
SSL ** ppSsl )
Here is the caller graph for this function:

◆ createSslCtx()

STATUS createSslCtx ( PDtlsSessionCertificateInfo pCertificates,
UINT32 certCount,
SSL_CTX ** ppSslCtx )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsCertificateFingerprint()

STATUS dtlsCertificateFingerprint ( X509 * pCertificate,
PCHAR pBuff )
Here is the caller graph for this function:

◆ dtlsCertificateVerifyCallback()

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

◆ dtlsCheckOutgoingDataBuffer()

STATUS dtlsCheckOutgoingDataBuffer ( PDtlsSession pDtlsSession)
Here is the caller graph for this function:

◆ dtlsGenerateCertificateFingerprints()

STATUS dtlsGenerateCertificateFingerprints ( PDtlsSession pDtlsSession,
PDtlsSessionCertificateInfo pDtlsSessionCertificateInfo )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionCheckRemoteCertificateVerification()

STATUS dtlsSessionCheckRemoteCertificateVerification ( PDtlsSession pDtlsSession)
Here is the caller graph for this function:

◆ dtlsSessionConfigureRemoteCertificateValidation()

STATUS dtlsSessionConfigureRemoteCertificateValidation ( PDtlsSession pDtlsSession)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionConfigureStrictHostnameValidation()

STATUS dtlsSessionConfigureStrictHostnameValidation ( PDtlsSession pDtlsSession)
Here is the caller graph for this function:

◆ dtlsSessionGetLocalCertificateFingerprint()

STATUS dtlsSessionGetLocalCertificateFingerprint ( PDtlsSession pDtlsSession,
PCHAR pBuff,
UINT32 buffLen )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionHandshakeInThread()

STATUS dtlsSessionHandshakeInThread ( PDtlsSession pDtlsSession,
BOOL isServer )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionIsInitFinished()

STATUS dtlsSessionIsInitFinished ( PDtlsSession pDtlsSession,
PBOOL pIsConnected )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionPopulateKeyingMaterial()

STATUS dtlsSessionPopulateKeyingMaterial ( PDtlsSession pDtlsSession,
PDtlsKeyingMaterial pDtlsKeyingMaterial )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionProcessPacket()

STATUS dtlsSessionProcessPacket ( PDtlsSession pDtlsSession,
PBYTE pData,
PINT32 pDataLen )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionPutApplicationData()

STATUS dtlsSessionPutApplicationData ( PDtlsSession pDtlsSession,
PBYTE pData,
INT32 dataLen )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionShutdown()

STATUS dtlsSessionShutdown ( PDtlsSession pDtlsSession)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsSessionStart()

STATUS dtlsSessionStart ( PDtlsSession pDtlsSession,
BOOL isServer )

Start DTLS handshake. Not thread safe.

Parameters
PDtlsSession- DtlsSession 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:

◆ dtlsSessionVerifyRemoteCertificateFingerprint()

STATUS dtlsSessionVerifyRemoteCertificateFingerprint ( PDtlsSession pDtlsSession,
PCHAR pExpectedFingerprint )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dtlsTransmissionTimerCallback()

STATUS dtlsTransmissionTimerCallback ( UINT32 timerID,
UINT64 currentTime,
UINT64 customData )
Here is the call graph for this function:

◆ freeCertificateAndKey()

STATUS freeCertificateAndKey ( X509 ** ppCert,
EVP_PKEY ** ppPkey )
Here is the caller graph for this function:

◆ freeDtlsSession()

STATUS freeDtlsSession ( PDtlsSession * ppDtlsSession)

Free DTLS session. Not thread safe.

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

◆ releaseDtlsSession()

VOID releaseDtlsSession ( PDtlsSession pDtlsSession)
Here is the caller graph for this function: