B2BITS FIX Antenna C++  2.27.0
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
System::SSLContext Class Reference

Contains SSL specific information that is used while establishing connection. More...

#include <B2BITS_IPAddr.h>

+ Inheritance diagram for System::SSLContext:
+ Collaboration diagram for System::SSLContext:

Public Types

enum  ContextType { ContextType_Undefined, ContextType_Server, ContextType_Client }
 Type of the context contained. More...
 

Public Member Functions

void * get () const
 
const SSLContextConfiguratorPtr getConfigurator () const
 Returns SSLContextConfigurator pointer if any. More...
 
ContextType getContextType () const
 
std::string getStringProtocols () const
 
template<typename T >
T * getTyped () const
 
bool isClientContext () const
 Returns true if context contains client side information. More...
 
bool isSecuredContext () const
 Returns true if context contains client or server side information. More...
 
bool isServerContext () const
 Returns true if context contains server side information. More...
 
SSLContextoperator= (SSLContext const &src)
 
 SSLContext ()
 
 SSLContext (SSLContext const &src)
 
virtual ~SSLContext ()
 

Public Attributes

std::string ciphersList_
 
int protocols_
 

Static Public Attributes

static const int Protocol_ALL = Protocol_ALL_SSL | Protocol_ALL_TLS
 
static const int Protocol_ALL_SSL = Protocol_SSLv2 | Protocol_SSLv3
 
static const int Protocol_ALL_TLS = Protocol_TLSv1 | Protocol_TLSv1_1 | Protocol_TLSv1_2
 
static const int Protocol_SSLv2 = 1
 
static const int Protocol_SSLv3 = 2
 
static const int Protocol_TLSv1 = 4
 
static const int Protocol_TLSv1_1 = 8
 
static const int Protocol_TLSv1_2 = 16
 

Protected Member Functions

 SSLContext (ContextType ctxType, int protocols=Protocol_ALL, const SSLContextConfiguratorPtr &configurator=SSLContextConfiguratorPtr())
 

Protected Attributes

SSLContextConfiguratorPtr configurator_
 
ContextType ctxType_
 
void * sslCtx_
 

Detailed Description

Contains SSL specific information that is used while establishing connection.

Member Enumeration Documentation

◆ ContextType

Type of the context contained.

Enumerator
ContextType_Undefined 
ContextType_Server 
ContextType_Client 

Constructor & Destructor Documentation

◆ SSLContext() [1/3]

System::SSLContext::SSLContext ( )

◆ ~SSLContext()

virtual System::SSLContext::~SSLContext ( )
virtual

◆ SSLContext() [2/3]

System::SSLContext::SSLContext ( SSLContext const &  src)

◆ SSLContext() [3/3]

System::SSLContext::SSLContext ( ContextType  ctxType,
int  protocols = Protocol_ALL,
const SSLContextConfiguratorPtr configurator = SSLContextConfiguratorPtr() 
)
protected

Member Function Documentation

◆ get()

void* System::SSLContext::get ( ) const

◆ getConfigurator()

const SSLContextConfiguratorPtr System::SSLContext::getConfigurator ( ) const

Returns SSLContextConfigurator pointer if any.

◆ getContextType()

ContextType System::SSLContext::getContextType ( ) const

◆ getStringProtocols()

std::string System::SSLContext::getStringProtocols ( ) const

◆ getTyped()

template<typename T >
T* System::SSLContext::getTyped ( ) const
inline

◆ isClientContext()

bool System::SSLContext::isClientContext ( ) const
inline

Returns true if context contains client side information.

◆ isSecuredContext()

bool System::SSLContext::isSecuredContext ( ) const
inline

Returns true if context contains client or server side information.

True means that connection created with this context must and will be secured.

◆ isServerContext()

bool System::SSLContext::isServerContext ( ) const
inline

Returns true if context contains server side information.

◆ operator=()

SSLContext& System::SSLContext::operator= ( SSLContext const &  src)

Member Data Documentation

◆ ciphersList_

std::string System::SSLContext::ciphersList_

◆ configurator_

SSLContextConfiguratorPtr System::SSLContext::configurator_
protected

◆ ctxType_

ContextType System::SSLContext::ctxType_
protected

◆ Protocol_ALL

const int System::SSLContext::Protocol_ALL = Protocol_ALL_SSL | Protocol_ALL_TLS
static

◆ Protocol_ALL_SSL

const int System::SSLContext::Protocol_ALL_SSL = Protocol_SSLv2 | Protocol_SSLv3
static

◆ Protocol_ALL_TLS

const int System::SSLContext::Protocol_ALL_TLS = Protocol_TLSv1 | Protocol_TLSv1_1 | Protocol_TLSv1_2
static

◆ Protocol_SSLv2

const int System::SSLContext::Protocol_SSLv2 = 1
static

◆ Protocol_SSLv3

const int System::SSLContext::Protocol_SSLv3 = 2
static

◆ Protocol_TLSv1

const int System::SSLContext::Protocol_TLSv1 = 4
static

◆ Protocol_TLSv1_1

const int System::SSLContext::Protocol_TLSv1_1 = 8
static

◆ Protocol_TLSv1_2

const int System::SSLContext::Protocol_TLSv1_2 = 16
static

◆ protocols_

int System::SSLContext::protocols_

◆ sslCtx_

void* System::SSLContext::sslCtx_
protected