The C++ framework for developing highly scalable, high performance servers on Windows platforms.

JetByteTools::OpenSSL Namespace Reference


Classes

class  C128Bits
class  CAES128ICM
class  CApplicationProtocolSelection
class  CAsyncConnector
class  CContext
class  CCreateSimpleContext
class  CDebugLog
class  CException
class  CICEControlledDTLSConnection
class  CICEControlledDTLSConnectionFactory
class  ISecureStreamSocketCallback
class  IStreamSocketConnectionManagerCallback
class  IStreamSocketServerCallback
class  IStreamSocketServerExCallback
class  IUDPAsyncConnectorCallback
struct  Certificate
class  CSecureConnectShim
class  CSHA1
class  CSRTPKeyingMaterial
class  CSSLStreamValidator
class  CStreamSocketConnectionFilter
class  CStreamSocketConnectionManager
class  CStreamSocketConnectionManagerCallback
 An object that implements the CStreamSocketConnectionManager callback interface and does nothing. You can derive from this class and override just the functions that you need to. More...
class  TStreamSocketServer
class  CStreamSocketServerCallback
class  CStreamSocketServerExCallback
class  CThreadUsageTracker
class  CUDPAsyncConnector
class  CUsesOpenSSL

Typedefs

typedef std::deque< int > PacketLengths
typedef
JetByteTools::Core::TReferenceCountedSmartPointer
< CFilterData > 
CSmartFilterData
typedef
TStreamSocketServer
< JetByteTools::Socket::CFilteringStreamSocketServer,
IStreamSocketServerCallback
CStreamSocketServer
typedef
TStreamSocketServer
< JetByteTools::Socket::CFilteringStreamSocketServerEx,
IStreamSocketServerExCallback
CStreamSocketServerEx

Enumerations

enum  DTLSContentType {
  ChangeCipherSpec = 20, ChangeCipherSpec = 20, Alert = 21, Alert = 21,
  Handshake = 22, Handshake = 22, ApplicationData = 23, ApplicationData = 23
}
enum  DTLSHandshakeType {
  DTLSHandshakeType_hello = 0, DTLSHandshakeType_hello = 0, DTLSHandshakeType_clienthello = 1, DTLSHandshakeType_clienthello = 1,
  DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_helloverifyrequest = 3, DTLSHandshakeType_newsessionticket = 4,
  DTLSHandshakeType_endofearlydata = 5, DTLSHandshakeType_helloretryrequest = 6, DTLSHandshakeType_encryptedextension = 8, DTLSHandshakeType_certificate = 11,
  DTLSHandshakeType_certificate = 11, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_certificaterequest = 13,
  DTLSHandshakeType_certificaterequest = 13, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_certificateverify = 15,
  DTLSHandshakeType_certificateverify = 15, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_finished = 20,
  DTLSHandshakeType_finished = 20, DTLSHandshakeType_hello = 0, DTLSHandshakeType_hello = 0, DTLSHandshakeType_clienthello = 1,
  DTLSHandshakeType_clienthello = 1, DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_certificate = 11,
  DTLSHandshakeType_certificate = 11, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_certificaterequest = 13,
  DTLSHandshakeType_certificaterequest = 13, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_certificateverify = 15,
  DTLSHandshakeType_certificateverify = 15, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_finished = 20,
  DTLSHandshakeType_finished = 20
}
enum  CERTIFICATE_TYPES { CERTIFICATE_ROOT = 1, CERTIFICATE_TLS_SERVER = 2, CERTIFICATE_TLS_CLIENT = 3 }
enum  SSLContentType {
  ChangeCipherSpec = 20, ChangeCipherSpec = 20, Alert = 21, Alert = 21,
  Handshake = 22, Handshake = 22, ApplicationData = 23, ApplicationData = 23
}
enum  DTLSHandshakeType {
  DTLSHandshakeType_hello = 0, DTLSHandshakeType_hello = 0, DTLSHandshakeType_clienthello = 1, DTLSHandshakeType_clienthello = 1,
  DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_helloverifyrequest = 3, DTLSHandshakeType_newsessionticket = 4,
  DTLSHandshakeType_endofearlydata = 5, DTLSHandshakeType_helloretryrequest = 6, DTLSHandshakeType_encryptedextension = 8, DTLSHandshakeType_certificate = 11,
  DTLSHandshakeType_certificate = 11, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_certificaterequest = 13,
  DTLSHandshakeType_certificaterequest = 13, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_certificateverify = 15,
  DTLSHandshakeType_certificateverify = 15, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_finished = 20,
  DTLSHandshakeType_finished = 20, DTLSHandshakeType_hello = 0, DTLSHandshakeType_hello = 0, DTLSHandshakeType_clienthello = 1,
  DTLSHandshakeType_clienthello = 1, DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_serverhello = 2, DTLSHandshakeType_certificate = 11,
  DTLSHandshakeType_certificate = 11, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_serverkeyexchange = 12, DTLSHandshakeType_certificaterequest = 13,
  DTLSHandshakeType_certificaterequest = 13, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_serverhellodone = 14, DTLSHandshakeType_certificateverify = 15,
  DTLSHandshakeType_certificateverify = 15, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_clientkeyexchange = 16, DTLSHandshakeType_finished = 20,
  DTLSHandshakeType_finished = 20
}

Functions

static DWORD AddProtocolToBuffer (BYTE *pBuffer, const string &protocol)
static const string s_ALPN_HTTP_1_1 ("http/1.1")
static const string s_ALPN_SPDY_1 ("spdy/1")
static const string s_ALPN_SPDY_2 ("spdy/2")
static const string s_ALPN_SPDY_3 ("spdy/3")
static const string s_ALPN_HTTP_2_0 ("h2")
static int password_cb (char *buf, int num, int rwflag, void *userdata)
static int DTLS_BIO_Filter_Read (BIO *bio, char *data, int len)
static int DTLS_BIO_Filter_Write (BIO *bio, const char *in, int inl)
static long DTLS_BIO_Filter_Ctrl (BIO *bio, int cmd, long num, void *ptr)
static int DTLS_BIO_Filter_New (BIO *bio)
static int DTLS_BIO_Filter_Free (BIO *bio)
BIO_METHODBIO_DTLS_FilterBIO ()
FilterData * GetFilterData (BIO *bio)
static _tstring GetErrorMessage (unsigned long error)
static bool IsDTLSContent (BYTE b)
static string GetCertFingerprint (const X509 *pCert)
static void DTLS_HandshakeDebug (const IBuffer &buffer)
static void util_random (const int length, char *result)
static void util_randomtext (const int length, char *result)
static int util_add_ext (X509 *cert, const int nid, char *value)
int MakeCertificate (struct Certificate *rootcert, struct Certificate *cert, const int bits, const int days, char *name, const enum CERTIFICATE_TYPES certtype, struct Certificate *initialcert)
static
IProvideSRTPKeyingMaterial::ProtectionProfile 
ValidateId (unsigned long id)
static DWORD GetKeySizeFromId (IProvideSRTPKeyingMaterial::ProtectionProfile profile)
static DWORD GetSaltSizeFromId (IProvideSRTPKeyingMaterial::ProtectionProfile profile)
static void TLS_HandshakeDebug (const void *pData, DWORD dataLength)
 m_accumulated (0)
static const _tstring s_filterName (_T("OPENSSL"))
static void NTAPI Callback (void *pData)
static DWORD GetFlsIndex ()
static void ReleaseFlsIndex ()

Variables

static const size_t s_maxSizeRequired
static const _tstring s_emptyString
static int s_dataIndex = SSL_get_ex_new_index(0, static_cast<void*>(const_cast<char *>("CAsyncConnector::this")), nullptr, nullptr, nullptr)
static const _tstring s_emptyString
static BIO_METHOD s_BIO_methods
static CLockableObject s_flsLock
static
CFiberLocalStorage
s_pFls = nullptr
static long s_ref = 0
static CLockableObject s_lock
static
CThreadUsageTracker::ThreadIds 
s_threadIds
static int s_dataIndex = SSL_get_ex_new_index(0, const_cast<void*>(reinterpret_cast<const void*>("CUDPAsyncConnector::this")), nullptr, nullptr, nullptr)


Typedef Documentation

typedef std::deque<int> PacketLengths


Enumeration Type Documentation

Enumerator:
CERTIFICATE_ROOT 
CERTIFICATE_TLS_SERVER 
CERTIFICATE_TLS_CLIENT 

Enumerator:
ChangeCipherSpec 
ChangeCipherSpec 
Alert 
Alert 
Handshake 
Handshake 
ApplicationData 
ApplicationData 

Enumerator:
DTLSHandshakeType_hello 
DTLSHandshakeType_hello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_helloverifyrequest 
DTLSHandshakeType_newsessionticket 
DTLSHandshakeType_endofearlydata 
DTLSHandshakeType_helloretryrequest 
DTLSHandshakeType_encryptedextension 
DTLSHandshakeType_certificate 
DTLSHandshakeType_certificate 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_finished 
DTLSHandshakeType_finished 
DTLSHandshakeType_hello 
DTLSHandshakeType_hello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_certificate 
DTLSHandshakeType_certificate 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_finished 
DTLSHandshakeType_finished 

Enumerator:
DTLSHandshakeType_hello 
DTLSHandshakeType_hello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_helloverifyrequest 
DTLSHandshakeType_newsessionticket 
DTLSHandshakeType_endofearlydata 
DTLSHandshakeType_helloretryrequest 
DTLSHandshakeType_encryptedextension 
DTLSHandshakeType_certificate 
DTLSHandshakeType_certificate 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_finished 
DTLSHandshakeType_finished 
DTLSHandshakeType_hello 
DTLSHandshakeType_hello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_clienthello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_serverhello 
DTLSHandshakeType_certificate 
DTLSHandshakeType_certificate 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_serverkeyexchange 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_certificaterequest 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_serverhellodone 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_certificateverify 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_clientkeyexchange 
DTLSHandshakeType_finished 
DTLSHandshakeType_finished 

Enumerator:
ChangeCipherSpec 
ChangeCipherSpec 
Alert 
Alert 
Handshake 
Handshake 
ApplicationData 
ApplicationData 


Function Documentation

static DWORD AddProtocolToBuffer ( BYTE pBuffer,
const string &  protocol 
) [static]

BIO_METHOD * BIO_DTLS_FilterBIO (  ) 

static void NTAPI Callback ( void *  pData  )  [static]

static long DTLS_BIO_Filter_Ctrl ( BIO bio,
int  cmd,
long  num,
void *  ptr 
) [static]

static int DTLS_BIO_Filter_Free ( BIO bio  )  [static]

static int DTLS_BIO_Filter_New ( BIO bio  )  [static]

static int DTLS_BIO_Filter_Read ( BIO bio,
char *  data,
int  len 
) [static]

static int DTLS_BIO_Filter_Write ( BIO bio,
const char *  in,
int  inl 
) [static]

static void DTLS_HandshakeDebug ( const IBuffer &  buffer  )  [static]

static string GetCertFingerprint ( const X509 pCert  )  [static]

static _tstring JetByteTools::OpenSSL::GetErrorMessage ( unsigned long  error  )  [static]

FilterData* JetByteTools::OpenSSL::GetFilterData ( BIO bio  )  [inline]

static DWORD GetFlsIndex (  )  [static]

static DWORD GetKeySizeFromId ( IProvideSRTPKeyingMaterial::ProtectionProfile  profile  )  [static]

static DWORD GetSaltSizeFromId ( IProvideSRTPKeyingMaterial::ProtectionProfile  profile  )  [static]

static bool IsDTLSContent ( BYTE  b  )  [static]

JetByteTools::OpenSSL::m_accumulated (  ) 

int MakeCertificate ( struct Certificate *  rootcert,
struct Certificate *  cert,
const int  bits,
const int  days,
char *  name,
const enum CERTIFICATE_TYPES  certtype,
struct Certificate *  initialcert 
)

static int password_cb ( char *  buf,
int  num,
int  rwflag,
void *  userdata 
) [static]

static void ReleaseFlsIndex (  )  [static]

static const string JetByteTools::OpenSSL::s_ALPN_HTTP_1_1 ( "http/1.1"   )  [static]

static const string JetByteTools::OpenSSL::s_ALPN_HTTP_2_0 ( "h2"   )  [static]

static const string JetByteTools::OpenSSL::s_ALPN_SPDY_1 ( "spdy/1"   )  [static]

static const string JetByteTools::OpenSSL::s_ALPN_SPDY_2 ( "spdy/2"   )  [static]

static const string JetByteTools::OpenSSL::s_ALPN_SPDY_3 ( "spdy/3"   )  [static]

static const _tstring JetByteTools::OpenSSL::s_filterName ( _T("OPENSSL")   )  [static]

static void TLS_HandshakeDebug ( const void *  pData,
DWORD  dataLength 
) [static]

static int JetByteTools::OpenSSL::util_add_ext ( X509 cert,
const int  nid,
char *  value 
) [static]

static void JetByteTools::OpenSSL::util_random ( const int  length,
char *  result 
) [static]

static void JetByteTools::OpenSSL::util_randomtext ( const int  length,
char *  result 
) [static]

static IProvideSRTPKeyingMaterial::ProtectionProfile ValidateId ( unsigned long  id  )  [static]


Variable Documentation

Initial value:

 {
   BIO_TYPE_FILTER,
   "JetByte_DTLS_FilterBIO",
   DTLS_BIO_Filter_Write,
   DTLS_BIO_Filter_Read,
   NULL,
   NULL,
   DTLS_BIO_Filter_Ctrl,
   DTLS_BIO_Filter_New,
   DTLS_BIO_Filter_Free,
   NULL
}

int s_dataIndex = SSL_get_ex_new_index(0, const_cast<void*>(reinterpret_cast<const void*>("CUDPAsyncConnector::this")), nullptr, nullptr, nullptr) [static]

int s_dataIndex = SSL_get_ex_new_index(0, static_cast<void*>(const_cast<char *>("CAsyncConnector::this")), nullptr, nullptr, nullptr) [static]

const _tstring s_emptyString [static]

const _tstring s_emptyString [static]

CLockableObject s_flsLock [static]

CLockableObject s_lock [static]

const size_t s_maxSizeRequired [static]

Initial value:

 1 + s_ALPN_HTTP_1_1.length() +
                                        1 + s_ALPN_SPDY_1.length() +
                                        1 + s_ALPN_SPDY_2.length() +
                                        1 + s_ALPN_SPDY_3.length() +
                                        1 + s_ALPN_HTTP_2_0.length()

CFiberLocalStorage* s_pFls = nullptr [static]

long s_ref = 0 [static]


Generated on Sun Sep 12 19:09:40 2021 for The Server Framework - v7.4 by doxygen 1.5.3