OPAL  Version 3.18.8
H235Authenticator Class Referenceabstract

#include <h235auth.h>

Inheritance diagram for H235Authenticator:

Public Types

enum  ValidationResult {
  e_OK = 0, e_Absent, e_Error, e_InvalidTime,
  e_BadPassword, e_ReplyAttack, e_Disabled
}
 
enum  Application { GKAdmission, EPAuthentication, LRQOnly, AnyApplication }
 

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, unsigned rasPDU)
 
virtual H235_ClearToken * CreateClearToken (unsigned rasPDU)
 
virtual H235_ClearToken * CreateClearToken ()
 
virtual H225_CryptoH323Token * CreateCryptoToken (bool digits, unsigned rasPDU)
 
virtual H225_CryptoH323Token * CreateCryptoToken (bool digits)
 
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
 
void Enable (PBoolean enab=true)
 
void Disable ()
 
bool IsEnabled () const
 
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)
 
Application GetApplication ()
 Get Authentication Application. More...
 

Protected Member Functions

PINDEX AddCapabilityIfNeeded (unsigned mechanism, const PString &oid, H225_ArrayOf_AuthenticationMechanism &mechansims, H225_ArrayOf_PASN_ObjectId &algorithmOIDs)
 
 PDECLARE_MUTEX (mutex)
 

Protected Attributes

bool m_enabled
 
PString remoteId
 
PString localId
 
PString password
 
unsigned sentRandomSequenceNumber
 
unsigned lastRandomSequenceNumber
 
unsigned lastTimestamp
 
int timestampGracePeriod
 
Application usage
 Authenticator's Application. More...
 

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
GKAdmission 

To Be Used for GK Admission.

EPAuthentication 

To Be Used for EP Authentication.

LRQOnly 

To Be Used for Location Request Authentication.

AnyApplication 

To Be Used for Any Application.

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

PINDEX H235Authenticator::AddCapabilityIfNeeded ( unsigned  mechanism,
const PString &  oid,
H225_ArrayOf_AuthenticationMechanism &  mechansims,
H225_ArrayOf_PASN_ObjectId &  algorithmOIDs 
)
protected
virtual H235_ClearToken* H235Authenticator::CreateClearToken ( unsigned  rasPDU)
virtual
virtual H235_ClearToken* H235Authenticator::CreateClearToken ( )
virtual

Reimplemented in H235AuthCAT.

virtual H225_CryptoH323Token* H235Authenticator::CreateCryptoToken ( bool  digits,
unsigned  rasPDU 
)
virtual
virtual H225_CryptoH323Token* H235Authenticator::CreateCryptoToken ( bool  digits)
virtual

Reimplemented in H235AuthSimpleMD5.

void H235Authenticator::Disable ( )
inline

References m_enabled.

void H235Authenticator::Enable ( PBoolean  enab = true)
inline

References m_enabled.

virtual PBoolean H235Authenticator::Finalise ( PBYTEArray &  rawPDU)
virtual
Application H235Authenticator::GetApplication ( )
inline

Get Authentication Application.

References usage.

const PString& H235Authenticator::GetLocalId ( ) const
inline

References localId.

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

Implemented in H235AuthCAT, and H235AuthSimpleMD5.

const PString& H235Authenticator::GetPassword ( ) const
inline

References password.

const PString& H235Authenticator::GetRemoteId ( ) const
inline

References remoteId.

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

Implemented in H235AuthCAT, and H235AuthSimpleMD5.

bool H235Authenticator::IsEnabled ( ) const
inline

References m_enabled.

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

Reimplemented in H235AuthCAT, and H235AuthSimpleMD5.

H235Authenticator::PDECLARE_MUTEX ( mutex  )
protected
virtual PBoolean H235Authenticator::PrepareTokens ( PASN_Array &  clearTokens,
PASN_Array &  cryptoTokens,
unsigned  rasPDU 
)
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 H235AuthCAT, and H235AuthSimpleMD5.

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

Field Documentation

unsigned H235Authenticator::lastRandomSequenceNumber
protected
unsigned H235Authenticator::lastTimestamp
protected
PString H235Authenticator::localId
protected

Referenced by GetLocalId(), and SetLocalId().

bool H235Authenticator::m_enabled
protected

Referenced by Disable(), Enable(), and IsEnabled().

PString H235Authenticator::password
protected

Referenced by GetPassword(), and SetPassword().

PString H235Authenticator::remoteId
protected

Referenced by GetRemoteId(), and SetRemoteId().

unsigned H235Authenticator::sentRandomSequenceNumber
protected
int H235Authenticator::timestampGracePeriod
protected
Application H235Authenticator::usage
protected

Authenticator's Application.

Referenced by GetApplication().


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