Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cSSLCipherSuites Class Reference

#include <cSSLCipherSuite.h>

Inheritance diagram for GrayLib::cSSLCipherSuites:
Gray::cSingleton< cSSLCipherSuites > Gray::cSingletonStatic< TYPE > Gray::cSingletonRegister Gray::CObject Gray::cHeapObject Gray::IHeapObject

Public Types

enum  ENUM_TYPE { ENUM_QTY }
 

Public Member Functions

 cSSLCipherSuites () noexcept
 
void InitCipherSuitesSupported ()
 
void LoadAllCipherSuites ()
 
bool IsSupportedSuite (SSL_CipherSuite_TYPE eCipherSuite) const
 
const SSL_CipherSuite_tget_SupportedCipherSuiteIds () const
 
const cSSLCipherSuiteGetSupportedCipherSuite (SSL_CipherSuite_TYPE eCipherSuite) const
 
- Public Member Functions inherited from Gray::CObject
virtual ~CObject ()
 
virtual bool isValidCheck () const noexcept
 < memory allocation and structure definitions are valid. More...
 
virtual void AssertValid () const
 < memory allocation and structure definitions are valid. More...
 
virtual void Serialize (cArchive &a)
 
- Public Member Functions inherited from Gray::cHeapObject
 cHeapObject ()
 
virtual ~cHeapObject ()
 
bool IsValidInsideN (INT_PTR index) const
 
bool IsValidInsidePtr (void const *pTest) const
 
virtual size_t GetHeapStatsThis (OUT ITERATE_t &iAllocCount) const
 
virtual bool isValidCheck () const noexcept
 

Static Public Member Functions

static const cSSLCipherSuite *GRAYCALL FindCipherSuiteById (SSL_CipherSuite_TYPE eCipherSuite)
 
static bool GRAYCALL IsInList (const SSL_CipherSuite_t *pSuites, SSL_CipherSuite_t nCipherSuite) noexcept
 
static SSL_CipherSuite_TYPE GRAYCALL GetCipherSuiteIdByName (const char *pszCiphersuiteName)
 
static const char *GRAYCALL GetCipherSuiteName (SSL_CipherSuite_TYPE eCipherSuite)
 
- Static Public Member Functions inherited from Gray::cSingleton< cSSLCipherSuites >
static cSSLCipherSuites *__stdcall get_Single ()
 
static TYPE2 *__stdcall get_SingleT ()
 
static cSSLCipherSuites &__stdcall I ()
 
- Static Public Member Functions inherited from Gray::cSingletonStatic< TYPE >
static bool isSingleCreated () noexcept
 
static TYPEget_SingleU () noexcept
 
static TYPEget_Single ()
 
template<class TYPE2 >
static TYPE2 *__stdcall get_SingleCast ()
 
static TYPEI () noexcept
 
- Static Public Member Functions inherited from Gray::cSingletonRegister
static void __stdcall ReleaseModule (HMODULE hMod)
 

Static Public Attributes

static const cSSLCipherSuite k_definitions [ENUM_QTY+1]
 
- Static Public Attributes inherited from Gray::cSingletonRegister
static cThreadLockFast sm_LockSingle
 common lock for all cSingleton. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Gray::cSingleton< cSSLCipherSuites >
 cSingleton (cSSLCipherSuites *pObject, const TYPEINFO_t &rAddrCode=typeid(cSSLCipherSuites)) noexcept
 
virtual ~cSingleton ()
 
- Protected Member Functions inherited from Gray::cSingletonStatic< TYPE >
 cSingletonStatic (TYPE *pObject) noexcept
 
virtual ~cSingletonStatic () noexcept
 
- Protected Member Functions inherited from Gray::cSingletonRegister
 cSingletonRegister (const TYPEINFO_t &rAddrCode) noexcept
 
virtual ~cSingletonRegister ()
 
void RegisterSingleton ()
 
- Protected Member Functions inherited from Gray::cHeapObject
const void * get_HeapPtr () const noexcept override
 Get the top level (outermost, freeable) class pointer. I can delete get_HeapPtr(). More...
 
- Protected Attributes inherited from Gray::cSingletonRegister
HMODULE m_hModuleLoaded
 What modules loaded this ? So singletons can be destroyed if DLL/SO unloads. More...
 
- Static Protected Attributes inherited from Gray::cSingletonStatic< TYPE >
static TYPEsm_pThe = nullptr
 pointer to the one and only object of this TYPE. ASSUME automatically init to = nullptr. More...
 

Detailed Description

Manage the a list of all possible cipher suites.

Member Enumeration Documentation

◆ ENUM_TYPE

Enumerator
ENUM_QTY 

Constructor & Destructor Documentation

◆ cSSLCipherSuites()

GrayLib::cSSLCipherSuites::cSSLCipherSuites ( )
inlinenoexcept

Member Function Documentation

◆ FindCipherSuiteById()

const cSSLCipherSuite *GRAYCALL GrayLib::cSSLCipherSuites::FindCipherSuiteById ( SSL_CipherSuite_TYPE  eCipherSuite)
static

Get all suites. even unusable ones.

◆ get_SupportedCipherSuiteIds()

const SSL_CipherSuite_t * GrayLib::cSSLCipherSuites::get_SupportedCipherSuiteIds ( ) const

◆ GetCipherSuiteIdByName()

SSL_CipherSuite_TYPE GRAYCALL GrayLib::cSSLCipherSuites::GetCipherSuiteIdByName ( const char *  pszCiphersuiteName)
static
Returns
the ID of the ciphersuite associated with the given name. even unsupported ones.

◆ GetCipherSuiteName()

const char * GrayLib::cSSLCipherSuites::GetCipherSuiteName ( SSL_CipherSuite_TYPE  eCipherSuite)
static
Returns
the name of the ciphersuite associated with the ID. even unsupported ones.

◆ GetSupportedCipherSuite()

const cSSLCipherSuite * GrayLib::cSSLCipherSuites::GetSupportedCipherSuite ( SSL_CipherSuite_TYPE  eCipherSuite) const
Returns
Info about a supported cipher suite.

◆ InitCipherSuitesSupported()

void GrayLib::cSSLCipherSuites::InitCipherSuitesSupported ( void  )

Get the list of cipher suites we support in preferred order. On initial call filter out all cipher suites not supported by current build. Build list in proper order. Ordered from most preferred to least preferred in terms of security.

◆ IsInList()

bool GRAYCALL GrayLib::cSSLCipherSuites::IsInList ( const SSL_CipherSuite_t pSuites,
SSL_CipherSuite_t  nCipherSuite 
)
staticnoexcept

◆ IsSupportedSuite()

bool GrayLib::cSSLCipherSuites::IsSupportedSuite ( SSL_CipherSuite_TYPE  eCipherSuite) const

◆ LoadAllCipherSuites()

void GrayLib::cSSLCipherSuites::LoadAllCipherSuites ( )

Make sure i have loaded ALL the hash,cipher,keys metadata types that i can. Hard link them to load static libraries.

Member Data Documentation

◆ k_definitions

const cSSLCipherSuite GrayLib::cSSLCipherSuites::k_definitions
static
Initial value:
=
{
#define CIPHERSUITEDEF(a,b,c,d,e,f,g,h,i)
}
@ SSL_Cipher_NONE
Definition: cCipherTypeDef.h:27
@ SSL_KeyExchange_NONE
Definition: SSLTypes.h:117
@ SSL_VER_SSL_3
SSL v3.0 = ssl3 = 0x0300.
Definition: SSLTypes.h:70
@ CipherSuiteFlag_NULL
Definition: cSSLCipherSuite.h:22
@ TLS_NULL_WITH_NULL_NULL
Definition: SSLTypes.h:100
@ SSL_Hash_NONE
Definition: cHashCode.h:30

The documentation for this class was generated from the following files: