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

enum H235Authenticator::ValidationResult

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 is disabled by local system.


Constructor & Destructor Documentation

H235Authenticator::H235Authenticator (  ) 


Member Function Documentation

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

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

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

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

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

Reimplemented in H235AuthCAT.

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

Reimplemented in H235AuthSimpleMD5.

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

virtual ValidationResult H235Authenticator::ValidateTokens ( const PASN_Array &  clearTokens,
const PASN_Array &  cryptoTokens,
const PBYTEArray &  rawPDU 
) [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 PBoolean H235Authenticator::IsCapability ( const H235_AuthenticationMechanism mechansim,
const PASN_ObjectId &  algorithmOID 
) [pure virtual]

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

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

Implemented in H235AuthSimpleMD5, and H235AuthCAT.

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

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

Reimplemented in H235AuthSimpleMD5, and H235AuthCAT.

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

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

void H235Authenticator::Disable (  )  [inline]

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

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

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

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

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

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

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


Member Data Documentation

PBoolean H235Authenticator::enabled [protected]

PString H235Authenticator::remoteId [protected]

PString H235Authenticator::localId [protected]

PString H235Authenticator::password [protected]

unsigned H235Authenticator::sentRandomSequenceNumber [protected]

unsigned H235Authenticator::lastRandomSequenceNumber [protected]

unsigned H235Authenticator::lastTimestamp [protected]

int H235Authenticator::timestampGracePeriod [protected]

PMutex H235Authenticator::mutex [protected]


The documentation for this class was generated from the following file:
Generated on Mon Sep 15 11:49:23 2008 for OPAL by  doxygen 1.5.1