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

JetByteTools::OpenSSL Namespace Reference


Classes

class  CApplicationProtocolSelection
class  CAsyncConnector
class  CContext
class  CCreateSimpleContext
class  CException
class  CICEControlledDTLSConnection
class  CICEControlledDTLSConnectionFactory
class  ISecureStreamSocketCallback
class  IStreamSocketConnectionManagerCallback
class  IStreamSocketServerCallback
class  IStreamSocketServerExCallback
class  IUDPAsyncConnectorCallback
struct  Certificate
class  CSecureConnectShim
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  CUDPAsyncConnector

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

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_METHOD * BIO_DTLS_FilterBIO ()
FilterData * GetFilterData (BIO *bio)
static _tstring GetErrorMessage (unsigned long error)
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 const _tstring s_filterName (_T("OPENSSL"))

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 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 
Alert 
Handshake 
ApplicationData 

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


Function Documentation

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

BIO_METHOD * BIO_DTLS_FilterBIO (  ) 

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]

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 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 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]


Variable Documentation

BIO_METHOD s_BIO_methods [static]

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]

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()


Generated on Thu Jan 28 19:43:31 2021 for The Server Framework - v7.1 by doxygen 1.5.3