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

#include <cSecureChannel.h>

Inheritance diagram for GrayLib::cSecureClient:
GrayLib::cSecureChannel

Public Member Functions

 cSecureClient (cStreamInput *pStreamInp, cStreamOutput *pStreamOut)
 
virtual ~cSecureClient ()
 
HRESULT AdvanceState ()
 
cStreamInputget_SecureInp () const
 
cStreamOutputget_SecureOut () const
 
- Public Member Functions inherited from GrayLib::cSecureChannel
 cSecureChannel ()
 
virtual ~cSecureChannel ()
 
STATE_TYPE get_State () const noexcept
 
bool isStateSecure () const noexcept
 
cStreamInputget_SecureInp () const
 
cStreamOutputget_SecureOut () const
 
 UNITTEST_FRIEND (cSecureChannel)
 

Protected Attributes

cStreamInputm_pStreamInp
 the raw data stream from the cNetSocket More...
 
cStreamOutputm_pStreamOut
 the raw data stream to the cNetSocket More...
 
- Protected Attributes inherited from GrayLib::cSecureChannel
STATE_TYPE m_eState
 current state of the negotiation of the connection. More...
 
cSecureKnock::CIPHER_TYPE m_eCipherType
 the selected crypto type. <0=Failed login, 0=no crypt by choice, 1=cCipherRC4, 2=cCipherBlowfish More...
 
cNewPtr< cCipherBasem_pCipherEnc
 the selected encryption of the channel. More...
 
cNewPtr< cStreamCipherEncm_pCipherOut
 m_pCipher as a encrypt/output stream. pads to get_BlockAlignSize(). m_pCipherEnc More...
 
cNewPtr< cCipherBasem_pCipherDec
 the selected decryption of the channel. More...
 
cNewPtr< cStreamCipherDecm_pCipherInp
 m_pCipher as a decrypt/input stream. m_pCipherDec More...
 

Additional Inherited Members

- Public Types inherited from GrayLib::cSecureChannel
enum  STATE_TYPE {
  STATE_0 = 0 , Client_Knock , Server_Challenge , Client_Login ,
  STATE_Secure , STATE_Failed
}
 
- Static Public Member Functions inherited from GrayLib::cSecureChannel
static void GRAYCALL ComputeHash (OUT cSecureHash &rHash, const cHashCode &r1, const cHashCode &r2)
 
- Public Attributes inherited from GrayLib::cSecureChannel
cHashCode m_Challenge
 the random data used to form the challenge. part of crypto key for data stream. More...
 
cHashCode m_HashPass
 The working PASSCODE for login. More...
 
cSecureId m_Id
 My USERNAME and APPNAME. More...
 
- Protected Member Functions inherited from GrayLib::cSecureChannel
virtual HRESULT SetStateSecure ()
 
HRESULT GetCipher (OUT cNewPtr< cCipherBase > &rCipher, bool bEncodeMode, const cSecureHash &hashKey)
 

Detailed Description

a secure channel from the clients point of view. can encapsulate other protocol stream types.

Constructor & Destructor Documentation

◆ cSecureClient()

GrayLib::cSecureClient::cSecureClient ( cStreamInput pStreamInp,
cStreamOutput pStreamOut 
)

◆ ~cSecureClient()

GrayLib::cSecureClient::~cSecureClient ( )
virtual

Member Function Documentation

◆ AdvanceState()

HRESULT GrayLib::cSecureClient::AdvanceState ( )

client side Take the next step as needed for the protocol.

◆ get_SecureInp()

cStreamInput* GrayLib::cSecureClient::get_SecureInp ( ) const
inline

◆ get_SecureOut()

cStreamOutput* GrayLib::cSecureClient::get_SecureOut ( ) const
inline

Member Data Documentation

◆ m_pStreamInp

cStreamInput* GrayLib::cSecureClient::m_pStreamInp
protected

the raw data stream from the cNetSocket

◆ m_pStreamOut

cStreamOutput* GrayLib::cSecureClient::m_pStreamOut
protected

the raw data stream to the cNetSocket


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