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

CServerContext Class Reference

Inheritance diagram for CServerContext:
Collaboration diagram for CServerContext:

List of all members.

Public Types

enum  HandshakeResults { HandshakeOK, HandshakeIncompleteMessage, HandshakeFatalError }
enum  DecryptResults { DecryptOK, DecryptIncompleteMessage, DecryptRenegotiate, DecryptExpired }
enum  Direction { InboundContext, OutboundContext }
typedef unsigned long Sizes

Public Member Functions

 CServerContext (CCountedCredentialsHandle &credentials, ULONG attributes, ULONG tokenSize, bool networkByteOrder=true, DWORD maxRecordSize=0)
CContextCopy () const override
JetByteTools::Core::_tstring GetTargetName () const override
void StartHandshake (CToken &outputToken) override
HandshakeResults ContinueHandshake (const CSecurityBuffer &input, CToken &outputToken, CSecurityBuffer &extraData) override
void Renegotiate (CToken &outputToken) override
void Renegotiate (ClientAuthenticationRequirements requirements, CToken &outputToken) override
void PeerRequiresRenegotiate () override
void ApplyControlToken (CToken &outputToken) override
void ImpersonateClient ()
void RevertToSelf ()
bool IsComplete () const
bool CanSend () const
ULONG GetAttributes () const
SECURITY_STATUS GetLastStatus () const
bool RequirePeerVerification () const
void AllowRenegotiate (bool allow)
virtual bool RequestRenegotiate (ClientAuthenticationRequirements requirements, CToken &outputToken)
bool Renegotiating ()
void EncryptData (CSecurityBuffer &header, CSecurityBuffer &data, CSecurityBuffer &trailer)
DecryptResults DecryptData (const CSecurityBuffer &dataIn, CSecurityBuffer &dataOut, unsigned long &dataUsed)
void ShutdownConnection (CToken &outputToken)
void SendAlert (DWORD alertType, DWORD alertNumber, CToken &outputToken)
void SessionControl (DWORD sessionFlags, CToken &outputToken)
Direction GetDirection () const
void QueryContextAttributes (SecPkgContext_ConnectionInfo &connectionInfo) const
CERT_CONTEXT * GetRemoteCertificate () const
Sizes GetTokenSize () const
Sizes GetHeaderSize () const
Sizes GetMaximumInboundMessageSize () const
Sizes GetMaximumOutboundMessageSize () const
Sizes GetTrailerSize () const
bool PeerRequestsRenegotiate ()

Static Public Member Functions

static
JetByteTools::Core::_tstring 
GetProtocolAsString (DWORD protocol)
static
JetByteTools::Core::_tstring 
GetAlgorithmAsString (DWORD protocol)
static
JetByteTools::Core::_tstring 
GetAttributesAsString (DWORD attributes)

Protected Member Functions

CtxtHandleGetContext () const
void CompleteTokenIfRequired (SECURITY_STATUS status, SecBufferDesc *pOutputToken)
void IsContextComplete (SECURITY_STATUS status)
CredHandleGetCredentials () const
bool IsNewContextRequired () const
void ResetContext ()
void CreateNewContext ()
void RestartContext ()
void PeerRejectsRenegotiation ()
ULONG GetByteOrderFlag () const
void SetLastStatus (SECURITY_STATUS lastStatus)

Protected Attributes

CSmartCredentialsHandle m_credentials
ULONG m_requiredAttributes
ULONG m_achievedAttributes
TimeStamp m_expiry


Member Typedef Documentation

typedef unsigned long Sizes [inherited]


Member Enumeration Documentation

enum HandshakeResults [inherited]

Enumerator:
HandshakeOK 
HandshakeIncompleteMessage 
HandshakeFatalError 

enum DecryptResults [inherited]

Enumerator:
DecryptOK 
DecryptIncompleteMessage 
DecryptRenegotiate 
DecryptExpired 

enum Direction [inherited]

Enumerator:
InboundContext 
OutboundContext 


Constructor & Destructor Documentation

CServerContext ( CCountedCredentialsHandle credentials,
ULONG  attributes,
ULONG  tokenSize,
bool  networkByteOrder = true,
DWORD  maxRecordSize = 0 
)


Member Function Documentation

CContext * Copy (  )  const [override, virtual]

Implements CContext.

_tstring GetTargetName (  )  const [override, virtual]

Implements CContext.

void StartHandshake ( CToken outputToken  )  [override, virtual]

Implements CContext.

CServerContext::HandshakeResults ContinueHandshake ( const CSecurityBuffer input,
CToken outputToken,
CSecurityBuffer extraData 
) [override, virtual]

Implements CContext.

void Renegotiate ( CToken outputToken  )  [override, virtual]

Implements CContext.

void Renegotiate ( ClientAuthenticationRequirements  requirements,
CToken outputToken 
) [override, virtual]

Implements CContext.

void PeerRequiresRenegotiate (  )  [override, virtual]

Implements CContext.

void ApplyControlToken ( CToken outputToken  )  [override, virtual]

Implements CContext.

void ImpersonateClient (  ) 

void RevertToSelf (  ) 

_tstring GetProtocolAsString ( DWORD  protocol  )  [static, inherited]

_tstring GetAlgorithmAsString ( DWORD  protocol  )  [static, inherited]

_tstring GetAttributesAsString ( DWORD  attributes  )  [static, inherited]

bool IsComplete (  )  const [inherited]

bool CanSend (  )  const [inherited]

ULONG GetAttributes (  )  const [inherited]

SECURITY_STATUS GetLastStatus (  )  const [inherited]

bool RequirePeerVerification (  )  const [inherited]

void AllowRenegotiate ( bool  allow  )  [inherited]

bool RequestRenegotiate ( ClientAuthenticationRequirements  requirements,
CToken outputToken 
) [virtual, inherited]

bool Renegotiating (  )  [inherited]

void EncryptData ( CSecurityBuffer header,
CSecurityBuffer data,
CSecurityBuffer trailer 
) [inherited]

CContext::DecryptResults DecryptData ( const CSecurityBuffer dataIn,
CSecurityBuffer dataOut,
unsigned long &  dataUsed 
) [inherited]

void ShutdownConnection ( CToken outputToken  )  [inherited]

void SendAlert ( DWORD  alertType,
DWORD  alertNumber,
CToken outputToken 
) [inherited]

void SessionControl ( DWORD  sessionFlags,
CToken outputToken 
) [inherited]

CContext::Direction GetDirection (  )  const [inherited]

void QueryContextAttributes ( SecPkgContext_ConnectionInfo &  connectionInfo  )  const [inherited]

CERT_CONTEXT * GetRemoteCertificate (  )  const [inherited]

CContext::Sizes GetTokenSize (  )  const [inherited]

CContext::Sizes GetHeaderSize (  )  const [inherited]

CContext::Sizes GetMaximumInboundMessageSize (  )  const [inherited]

CContext::Sizes GetMaximumOutboundMessageSize (  )  const [inherited]

CContext::Sizes GetTrailerSize (  )  const [inherited]

bool PeerRequestsRenegotiate (  )  [inherited]

CtxtHandle & GetContext (  )  const [protected, inherited]

void CompleteTokenIfRequired ( SECURITY_STATUS  status,
SecBufferDesc pOutputToken 
) [protected, inherited]

void IsContextComplete ( SECURITY_STATUS  status  )  [protected, inherited]

CredHandle * GetCredentials (  )  const [protected, inherited]

bool IsNewContextRequired (  )  const [protected, inherited]

void ResetContext (  )  [protected, inherited]

void CreateNewContext (  )  [protected, inherited]

void RestartContext (  )  [protected, inherited]

void PeerRejectsRenegotiation (  )  [protected, inherited]

ULONG GetByteOrderFlag (  )  const [protected, inherited]

void SetLastStatus ( SECURITY_STATUS  lastStatus  )  [protected, inherited]


Member Data Documentation

CSmartCredentialsHandle m_credentials [protected, inherited]

ULONG m_requiredAttributes [protected, inherited]

ULONG m_achievedAttributes [protected, inherited]

TimeStamp m_expiry [protected, inherited]


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