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 PBoolean PrepareTokens (PASN_Array &clearTokens, PASN_Array &cryptoTokens)
virtual H235_ClearTokenCreateClearToken ()
virtual H225_CryptoH323TokenCreateCryptoToken ()
virtual PBoolean 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 PBoolean IsCapability (const H235_AuthenticationMechanism &mechansim, const PASN_ObjectId &algorithmOID)=0
virtual PBoolean SetCapability (H225_ArrayOf_AuthenticationMechanism &mechansims, H225_ArrayOf_PASN_ObjectId &algorithmOIDs)=0
virtual PBoolean UseGkAndEpIdentifiers () const
virtual PBoolean IsSecuredPDU (unsigned rasPDU, PBoolean received) const
virtual PBoolean IsActive () const
void Enable (PBoolean enab=PTrue)
void Disable ()
const PString & GetRemoteId () const
void SetRemoteId (const PString &id)
const PString & GetLocalId () const
void SetLocalId (const PString &id)
const PString & GetPassword () const
void SetPassword (const PString &pw)

Protected Member Functions

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

Protected Attributes

PBoolean 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 
e_Absent 

Security parameters and Msg are ok, no security attacks.

e_Error 

Security parameters are expected but absent.

e_InvalidTime 

Security parameters are present but incorrect.

e_BadPassword 

Security parameters indicate peer has bad real time clock.

e_ReplyAttack 

Security parameters indicate bad password in token.

e_Disabled 

Security parameters indicate an attack was made.

Security is disabled by local system


Constructor & Destructor Documentation

H235Authenticator::H235Authenticator (  ) 

Member Function Documentation

PBoolean 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.

void H235Authenticator::Disable (  )  [inline]

References enabled.

void H235Authenticator::Enable ( PBoolean  enab = PTrue  )  [inline]

References enabled.

virtual PBoolean H235Authenticator::Finalise ( PBYTEArray &  rawPDU  )  [virtual]
const PString& H235Authenticator::GetLocalId (  )  const [inline]

References localId.

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

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

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

References password.

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

References remoteId.

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

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

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

Reimplemented in H235AuthSimpleMD5, and H235AuthCAT.

virtual PBoolean H235Authenticator::PrepareTokens ( PASN_Array &  clearTokens,
PASN_Array &  cryptoTokens 
) [virtual]
virtual void H235Authenticator::PrintOn ( ostream &  strm  )  const [virtual]
virtual PBoolean H235Authenticator::SetCapability ( H225_ArrayOf_AuthenticationMechanism mechansims,
H225_ArrayOf_PASN_ObjectId algorithmOIDs 
) [pure virtual]

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

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

References localId.

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

References password.

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

References remoteId.

virtual PBoolean 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

PBoolean 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 Wed Jul 7 10:24:23 2010 for OPAL by  doxygen 1.6.3