OPAL  Version 3.10.10
H235Authenticator Class Referenceabstract

#include <h235auth.h>

Inheritance diagram for H235Authenticator:
H235AuthCAT H235AuthSimpleMD5

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_ClearToken * CreateClearToken ()
 
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
 
virtual PBoolean IsActive () const
 
void Enable (PBoolean enab=true)
 
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

◆ 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 parameters indicate an attack was made.

Security is disabled by local system

Constructor & Destructor Documentation

◆ H235Authenticator()

H235Authenticator::H235Authenticator ( )

Member Function Documentation

◆ AddCapability()

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

Referenced by SetPassword().

◆ CreateClearToken()

virtual H235_ClearToken* H235Authenticator::CreateClearToken ( )
virtual

Reimplemented in H235AuthCAT.

◆ CreateCryptoToken()

virtual H225_CryptoH323Token* H235Authenticator::CreateCryptoToken ( bool  digits)
virtual

Reimplemented in H235AuthSimpleMD5.

◆ Disable()

void H235Authenticator::Disable ( )
inline

References enabled.

◆ Enable()

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

References enabled.

◆ Finalise()

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

◆ GetLocalId()

const PString& H235Authenticator::GetLocalId ( ) const
inline

References localId.

◆ GetName()

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

Implemented in H235AuthCAT, and H235AuthSimpleMD5.

◆ GetPassword()

const PString& H235Authenticator::GetPassword ( ) const
inline

References password.

◆ GetRemoteId()

const PString& H235Authenticator::GetRemoteId ( ) const
inline

References remoteId.

◆ IsActive()

virtual PBoolean H235Authenticator::IsActive ( ) const
virtual

◆ IsCapability()

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

Implemented in H235AuthCAT, and H235AuthSimpleMD5.

◆ IsSecuredPDU()

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

Reimplemented in H235AuthCAT, and H235AuthSimpleMD5.

◆ PrepareTokens()

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

◆ PrintOn()

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

◆ SetCapability()

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

Implemented in H235AuthCAT, and H235AuthSimpleMD5.

◆ SetLocalId()

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

References localId.

◆ SetPassword()

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

References AddCapability(), and password.

◆ SetRemoteId()

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

References remoteId.

◆ UseGkAndEpIdentifiers()

virtual PBoolean H235Authenticator::UseGkAndEpIdentifiers ( ) const
virtual

◆ ValidateClearToken()

virtual ValidationResult H235Authenticator::ValidateClearToken ( const H235_ClearToken &  clearToken)
virtual

Reimplemented in H235AuthCAT.

◆ ValidateCryptoToken()

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

Reimplemented in H235AuthSimpleMD5.

◆ ValidateTokens()

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

Field Documentation

◆ enabled

PBoolean H235Authenticator::enabled
protected

Referenced by Disable(), and Enable().

◆ lastRandomSequenceNumber

unsigned H235Authenticator::lastRandomSequenceNumber
protected

◆ lastTimestamp

unsigned H235Authenticator::lastTimestamp
protected

◆ localId

PString H235Authenticator::localId
protected

Referenced by GetLocalId(), and SetLocalId().

◆ mutex

PMutex H235Authenticator::mutex
protected

◆ password

PString H235Authenticator::password
protected

Referenced by GetPassword(), and SetPassword().

◆ remoteId

PString H235Authenticator::remoteId
protected

Referenced by GetRemoteId(), and SetRemoteId().

◆ sentRandomSequenceNumber

unsigned H235Authenticator::sentRandomSequenceNumber
protected

◆ timestampGracePeriod

int H235Authenticator::timestampGracePeriod
protected

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