OpenH323 1.18.0
|
#include <h235auth.h>
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_ClearToken * | CreateClearToken () |
virtual H225_CryptoH323Token * | CreateCryptoToken () |
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 |
This abtract class embodies an H.235 authentication mechanism. NOTE: descendants must have a Clone() function for correct operation.
H235Authenticator::H235Authenticator | ( | ) |
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] |
BOOL H235Authenticator::enabled [protected] |
unsigned H235Authenticator::lastRandomSequenceNumber [protected] |
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().
unsigned H235Authenticator::sentRandomSequenceNumber [protected] |
int H235Authenticator::timestampGracePeriod [protected] |
Referenced by GetTimestampGracePeriod(), and SetTimestampGracePeriod().