Go to the source code of this file.
|
STATUS | createDtlsSession (PDtlsSessionCallbacks, TIMER_QUEUE_HANDLE, INT32, BOOL, PRtcCertificate, PDtlsSession *) |
|
STATUS | freeDtlsSession (PDtlsSession *) |
|
STATUS | dtlsSessionStart (PDtlsSession, BOOL) |
|
STATUS | dtlsSessionProcessPacket (PDtlsSession, PBYTE, PINT32) |
|
STATUS | dtlsSessionIsInitFinished (PDtlsSession, PBOOL) |
|
STATUS | dtlsSessionPopulateKeyingMaterial (PDtlsSession, PDtlsKeyingMaterial) |
|
STATUS | dtlsSessionGetLocalCertificateFingerprint (PDtlsSession, PCHAR, UINT32) |
|
STATUS | dtlsSessionVerifyRemoteCertificateFingerprint (PDtlsSession, PCHAR) |
|
STATUS | dtlsSessionPutApplicationData (PDtlsSession, PBYTE, INT32) |
|
STATUS | dtlsSessionShutdown (PDtlsSession) |
|
STATUS | dtlsSessionOnOutBoundData (PDtlsSession, UINT64, DtlsSessionOutboundPacketFunc) |
|
STATUS | dtlsSessionOnStateChange (PDtlsSession, UINT64, DtlsSessionOnStateChange) |
|
STATUS | dtlsSessionHandshakeInThread (PDtlsSession, BOOL) |
|
STATUS | dtlsValidateRtcCertificates (PRtcCertificate, PUINT32) |
|
STATUS | dtlsSessionChangeState (PDtlsSession, RTC_DTLS_TRANSPORT_STATE) |
|
STATUS | dtlsFillPseudoRandomBits (PBYTE, UINT32) |
|
◆ DTLS_CERT_MAX_SERIAL_NUM_SIZE
#define DTLS_CERT_MAX_SERIAL_NUM_SIZE 20 |
◆ DTLS_CERT_MIN_SERIAL_NUM_SIZE
#define DTLS_CERT_MIN_SERIAL_NUM_SIZE 8 |
◆ DTLS_SESSION_TIMER_START_DELAY
#define DTLS_SESSION_TIMER_START_DELAY (100 * HUNDREDS_OF_NANOS_IN_A_MILLISECOND) |
◆ DTLS_TRANSMISSION_INTERVAL
#define DTLS_TRANSMISSION_INTERVAL (200 * HUNDREDS_OF_NANOS_IN_A_MILLISECOND) |
◆ GENERATED_CERTIFICATE_BITS
#define GENERATED_CERTIFICATE_BITS 2048 |
◆ GENERATED_CERTIFICATE_DAYS
#define GENERATED_CERTIFICATE_DAYS 365 |
◆ GENERATED_CERTIFICATE_MAX_SIZE
#define GENERATED_CERTIFICATE_MAX_SIZE 4096 |
◆ GENERATED_CERTIFICATE_NAME
#define GENERATED_CERTIFICATE_NAME "KVS-WebRTC-Client" |
◆ HUNDREDS_OF_NANOS_IN_A_DAY
#define HUNDREDS_OF_NANOS_IN_A_DAY (HUNDREDS_OF_NANOS_IN_AN_HOUR * 24LL) |
◆ KEYING_EXTRACTOR_LABEL
#define KEYING_EXTRACTOR_LABEL "EXTRACTOR-dtls_srtp" |
◆ MAX_DTLS_MASTER_KEY_LEN
#define MAX_DTLS_MASTER_KEY_LEN 48 |
◆ MAX_DTLS_RANDOM_BYTES_LEN
#define MAX_DTLS_RANDOM_BYTES_LEN 32 |
◆ MAX_SRTP_MASTER_KEY_LEN
#define MAX_SRTP_MASTER_KEY_LEN 16 |
◆ MAX_SRTP_SALT_KEY_LEN
#define MAX_SRTP_SALT_KEY_LEN 14 |
◆ SECONDS_IN_A_DAY
#define SECONDS_IN_A_DAY (24 * 60 * 60LL) |
◆ DtlsSession
◆ DtlsSessionOnStateChange
◆ DtlsSessionOutboundPacketFunc
typedef VOID(* DtlsSessionOutboundPacketFunc) (UINT64, PBYTE, UINT32) |
◆ PDtlsKeyingMaterial
◆ PDtlsSession
◆ PDtlsSessionCallbacks
◆ DTLS_HANDSHAKE_STATE
Enumerator |
---|
DTLS_STATE_HANDSHAKE_NEW | |
DTLS_STATE_HANDSHAKE_IN_PROGRESS | |
DTLS_STATE_HANDSHAKE_COMPLETED | |
DTLS_STATE_HANDSHAKE_ERROR | |
◆ RTC_DTLS_TRANSPORT_STATE
Enumerator |
---|
RTC_DTLS_TRANSPORT_STATE_NEW | |
RTC_DTLS_TRANSPORT_STATE_CONNECTING | |
RTC_DTLS_TRANSPORT_STATE_CONNECTED | |
RTC_DTLS_TRANSPORT_STATE_CLOSED | |
RTC_DTLS_TRANSPORT_STATE_FAILED | |
◆ createDtlsSession()
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
◆ dtlsFillPseudoRandomBits()
STATUS dtlsFillPseudoRandomBits |
( |
PBYTE |
pBuf, |
|
|
UINT32 |
bufSize |
|
) |
| |
◆ dtlsSessionChangeState()
◆ dtlsSessionGetLocalCertificateFingerprint()
STATUS dtlsSessionGetLocalCertificateFingerprint |
( |
PDtlsSession |
pDtlsSession, |
|
|
PCHAR |
pBuff, |
|
|
UINT32 |
buffLen |
|
) |
| |
◆ dtlsSessionHandshakeInThread()
STATUS dtlsSessionHandshakeInThread |
( |
PDtlsSession |
pDtlsSession, |
|
|
BOOL |
isServer |
|
) |
| |
◆ dtlsSessionIsInitFinished()
STATUS dtlsSessionIsInitFinished |
( |
PDtlsSession |
pDtlsSession, |
|
|
PBOOL |
pIsFinished |
|
) |
| |
◆ dtlsSessionOnOutBoundData()
◆ dtlsSessionOnStateChange()
◆ dtlsSessionPopulateKeyingMaterial()
◆ dtlsSessionProcessPacket()
STATUS dtlsSessionProcessPacket |
( |
PDtlsSession |
pDtlsSession, |
|
|
PBYTE |
pData, |
|
|
PINT32 |
pDataLen |
|
) |
| |
◆ dtlsSessionPutApplicationData()
STATUS dtlsSessionPutApplicationData |
( |
PDtlsSession |
pDtlsSession, |
|
|
PBYTE |
pData, |
|
|
INT32 |
dataLen |
|
) |
| |
◆ dtlsSessionShutdown()
◆ 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
◆ dtlsSessionVerifyRemoteCertificateFingerprint()
STATUS dtlsSessionVerifyRemoteCertificateFingerprint |
( |
PDtlsSession |
pDtlsSession, |
|
|
PCHAR |
pExpectedFingerprint |
|
) |
| |
◆ dtlsValidateRtcCertificates()
STATUS dtlsValidateRtcCertificates |
( |
PRtcCertificate |
pRtcCertificates, |
|
|
PUINT32 |
pCount |
|
) |
| |
◆ freeDtlsSession()
Free DTLS session. Not thread safe.
- Parameters
-
PDtlsSession | - DtlsSession object to free |
- Returns
- STATUS - status of operation