H235Authenticator Class Reference

#include <h235auth.h>

Inheritance diagram for H235Authenticator:

H235AuthCAT H235AuthSimpleMD5

List of all members.

Public Types

enum  ValidationResult {
  e_OK = 0, e_Absent, e_Error, e_InvalidTime,
  e_BadPassword, e_ReplyAttack, e_Disabled
}

Public Member Functions

 H235Authenticator ()
virtual void PrintOn (ostream &strm) const
virtual const char * GetName () const =0
virtual BOOL PrepareTokens (PASN_Array &clearTokens, PASN_Array &cryptoTokens)
virtual H235_ClearTokenCreateClearToken ()
virtual H225_CryptoH323TokenCreateCryptoToken ()
virtual BOOL Finalise (PBYTEArray &rawPDU)
virtual ValidationResult ValidateTokens (const PASN_Array &clearTokens, const PASN_Array &cryptoTokens, const PBYTEArray &rawPDU)
virtual ValidationResult ValidateClearToken (const H235_ClearToken &clearToken)
virtual ValidationResult ValidateCryptoToken (const H225_CryptoH323Token &cryptoToken, const PBYTEArray &rawPDU)
virtual BOOL IsCapability (const H235_AuthenticationMechanism &mechansim, const PASN_ObjectId &algorithmOID)=0
virtual BOOL SetCapability (H225_ArrayOf_AuthenticationMechanism &mechansims, H225_ArrayOf_PASN_ObjectId &algorithmOIDs)=0
virtual BOOL UseGkAndEpIdentifiers () const
virtual BOOL IsSecuredPDU (unsigned rasPDU, BOOL received) const
virtual BOOL IsActive () const
virtual void Enable (BOOL enab=TRUE)
virtual void Disable ()
virtual const PString & GetRemoteId () const
virtual void SetRemoteId (const PString &id)
virtual const PString & GetLocalId () const
virtual void SetLocalId (const PString &id)
virtual const PString & GetPassword () const
virtual void SetPassword (const PString &pw)
virtual int GetTimestampGracePeriod () const
virtual void SetTimestampGracePeriod (int grace)

Protected Member Functions

BOOL AddCapability (unsigned mechanism, const PString &oid, H225_ArrayOf_AuthenticationMechanism &mechansims, H225_ArrayOf_PASN_ObjectId &algorithmOIDs)

Protected Attributes

BOOL enabled
PString remoteId
PString localId
PString password
unsigned sentRandomSequenceNumber
unsigned lastRandomSequenceNumber
unsigned lastTimestamp
int timestampGracePeriod
PMutex mutex


Detailed Description

This abtract class embodies an H.235 authentication mechanism. NOTE: descendants must have a Clone() function for correct operation.

Member Enumeration Documentation

Enumerator:
e_OK  Security parameters and Msg are ok, no security attacks.
e_Absent  Security parameters are expected but absent.
e_Error  Security parameters are present but incorrect.
e_InvalidTime  Security parameters indicate peer has bad real time clock.
e_BadPassword  Security parameters indicate bad password in token.
e_ReplyAttack  Security parameters indicate an attack was made.
e_Disabled  Security is disabled by local system.


Constructor & Destructor Documentation

H235Authenticator::H235Authenticator (  ) 


Member Function Documentation

BOOL H235Authenticator::AddCapability ( unsigned  mechanism,
const PString &  oid,
H225_ArrayOf_AuthenticationMechanism mechansims,
H225_ArrayOf_PASN_ObjectId algorithmOIDs 
) [protected]

virtual H235_ClearToken* H235Authenticator::CreateClearToken (  )  [virtual]

Reimplemented in H235AuthCAT.

virtual H225_CryptoH323Token* H235Authenticator::CreateCryptoToken (  )  [virtual]

Reimplemented in H235AuthSimpleMD5.

virtual void H235Authenticator::Disable (  )  [inline, virtual]

References enabled.

virtual void H235Authenticator::Enable ( BOOL  enab = TRUE  )  [inline, virtual]

References enabled.

virtual BOOL H235Authenticator::Finalise ( PBYTEArray &  rawPDU  )  [virtual]

virtual const PString& H235Authenticator::GetLocalId (  )  const [inline, virtual]

References localId.

virtual const char* H235Authenticator::GetName (  )  const [pure virtual]

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

virtual const PString& H235Authenticator::GetPassword (  )  const [inline, virtual]

References password.

virtual const PString& H235Authenticator::GetRemoteId (  )  const [inline, virtual]

References remoteId.

virtual int H235Authenticator::GetTimestampGracePeriod (  )  const [inline, virtual]

References timestampGracePeriod.

virtual BOOL H235Authenticator::IsActive (  )  const [virtual]

virtual BOOL H235Authenticator::IsCapability ( const H235_AuthenticationMechanism mechansim,
const PASN_ObjectId &  algorithmOID 
) [pure virtual]

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

virtual BOOL H235Authenticator::IsSecuredPDU ( unsigned  rasPDU,
BOOL  received 
) const [virtual]

Reimplemented in H235AuthSimpleMD5, and H235AuthCAT.

virtual BOOL H235Authenticator::PrepareTokens ( PASN_Array &  clearTokens,
PASN_Array &  cryptoTokens 
) [virtual]

virtual void H235Authenticator::PrintOn ( ostream &  strm  )  const [virtual]

virtual BOOL H235Authenticator::SetCapability ( H225_ArrayOf_AuthenticationMechanism mechansims,
H225_ArrayOf_PASN_ObjectId algorithmOIDs 
) [pure virtual]

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

virtual void H235Authenticator::SetLocalId ( const PString &  id  )  [inline, virtual]

References localId.

virtual void H235Authenticator::SetPassword ( const PString &  pw  )  [inline, virtual]

References password.

virtual void H235Authenticator::SetRemoteId ( const PString &  id  )  [inline, virtual]

References remoteId.

virtual void H235Authenticator::SetTimestampGracePeriod ( int  grace  )  [inline, virtual]

References timestampGracePeriod.

virtual BOOL H235Authenticator::UseGkAndEpIdentifiers (  )  const [virtual]

virtual ValidationResult H235Authenticator::ValidateClearToken ( const H235_ClearToken clearToken  )  [virtual]

Reimplemented in H235AuthCAT.

virtual ValidationResult H235Authenticator::ValidateCryptoToken ( const H225_CryptoH323Token cryptoToken,
const PBYTEArray &  rawPDU 
) [virtual]

Reimplemented in H235AuthSimpleMD5.

virtual ValidationResult H235Authenticator::ValidateTokens ( const PASN_Array &  clearTokens,
const PASN_Array &  cryptoTokens,
const PBYTEArray &  rawPDU 
) [virtual]


Member Data Documentation

BOOL H235Authenticator::enabled [protected]

Referenced by Disable(), and Enable().

unsigned H235Authenticator::lastTimestamp [protected]

PString H235Authenticator::localId [protected]

Referenced by GetLocalId(), and SetLocalId().

PMutex H235Authenticator::mutex [protected]

PString H235Authenticator::password [protected]

Referenced by GetPassword(), and SetPassword().

PString H235Authenticator::remoteId [protected]

Referenced by GetRemoteId(), and SetRemoteId().


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

Generated on Mon Apr 27 11:46:29 2009 for OpenH323 by  doxygen 1.5.8