CTlsClntAuthenticate Class Reference

class CTlsClntAuthenticate : public CActive

Inherits from

Public Member Functions
~CTlsClntAuthenticate()
voidCancelRequest()
voidDoClientAuthenticate(CCTCertInfo *&, CCTKeyInfo *&, RPointerArray< CCertificate > *, TRequestStatus &)
CTlsClntAuthenticate *NewL(const CTlsCryptoAttributes &, HBufC8 *)
Private Member Functions
CTlsClntAuthenticate(const CTlsCryptoAttributes &, HBufC8 *)
voidDoCancel()
voidGetAvailableKeyListL()
CCTKeyInfo *GetKeyInfoL(const TKeyIdentifier &)
TBool LookupCert(CX509Certificate *)
voidOnEGetCertListL()
voidOnEGetIntermediatesIssuerL()
voidOnEGetKeyListL()
voidOnEListIntermediatesCACertsL()
voidOnEUserDialogL()
voidOnGetAvailableKeyListL()
voidRemoveExpiredCertificatesL()
TInt RunError(TInt)
voidRunL()
Inherited Functions
CActive::CActive(TInt)
CActive::Cancel()
CActive::Deque()
CActive::Extension_(TUint,TAny *&,TAny *)
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::SetActive()
CActive::SetPriority(TInt)
CActive::~CActive()
CBase::CBase()
CBase::Delete(CBase *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Member Enumerations
enumTStateLists {
ENullState, EUserDialog, EGetCertList, EGetKeyList, EGetAvailableKeyList, EListIntermediatesCACerts, EGetIntermediatesIssuer
}
Inherited Enumerations
CActive:TPriority
Private Attributes
TBool iAuthenticateOK
RMPointerArray< CCTCertInfo >iCertInfos
TInt iCertTypeCount
TBool iClientAuthenticationDlgEnabled
RArray< TCTTokenObjectHandle >iClientCertHandleList
RPointerArray< const TDesC8 >iCurrentIssuerDistinguishedCANames
TStateLists iCurrentState
HBufC8 *iEncodedServerCerts
RFs iFs
RPointerArray< const TDesC8 >iFullIssuerDistinguishedCANames
TInt iIntermediatesCACertCount
RMPointerArray< CCTCertInfo >iIntermediatesCACertInfos
CCertificate *iIntermediatesCertificate
TInt iKeyCount
RMPointerArray< CCTKeyInfo >iKeyInfos
TRequestStatus *iOriginalRequestStatus
CCertAttributeFilter *iPtrFilter
CCertAttributeFilter *iPtrIntermediatesCACertFilter
CUnifiedCertStore *iPtrUnifiedCertStore
CUnifiedKeyStore *iPtrUnifiedKeyStore
MSecurityDialog *iSecurityDialog
CCTCertInfo **iSelectedCertInfo
CCTKeyInfo **iSelectedKeyInfo
RPointerArray< CCertificate > *iStoredIntermediatesCACertificates
RPointerArray< MCTKeyStore >iSupportedKeyStores
const CTlsCryptoAttributes &iTlsCryptoAttributes
TBool iToListIntermediatesCACert
TCTTokenObjectHandle iUserSelectedCert
Inherited Attributes
CActive::iStatus

Constructor & Destructor Documentation

CTlsClntAuthenticate(const CTlsCryptoAttributes &, HBufC8 *)

CTlsClntAuthenticate(const CTlsCryptoAttributes &aTlsCryptoAttributes,
HBufC8 *aEncodedServerCerts
)[private]

Parameters

const CTlsCryptoAttributes & aTlsCryptoAttributes
HBufC8 * aEncodedServerCerts

~CTlsClntAuthenticate()

~CTlsClntAuthenticate()

Member Functions Documentation

CancelRequest()

voidCancelRequest()

DoCancel()

voidDoCancel()[private, virtual]

Implements cancellation of an outstanding request.

This function is called as part of the active object's Cancel().

It must call the appropriate cancel function offered by the active object's asynchronous service provider. The asynchronous service provider's cancel is expected to act immediately.

DoCancel() must not wait for event completion; this is handled by Cancel().

CActive::Cancel

DoClientAuthenticate(CCTCertInfo *&, CCTKeyInfo *&, RPointerArray< CCertificate > *, TRequestStatus &)

voidDoClientAuthenticate(CCTCertInfo *&aSelectedCertInfo,
CCTKeyInfo *&aSelectedKeyInfo,
RPointerArray< CCertificate > *aStoredIntermediatesCACertificates,
TRequestStatus &aStatus
)

Parameters

CCTCertInfo *& aSelectedCertInfo
CCTKeyInfo *& aSelectedKeyInfo
RPointerArray< CCertificate > * aStoredIntermediatesCACertificates
TRequestStatus & aStatus

GetAvailableKeyListL()

voidGetAvailableKeyListL()[private]

GetKeyInfoL(const TKeyIdentifier &)

CCTKeyInfo *GetKeyInfoL(const TKeyIdentifier &aKeyID)[private]

Parameters

const TKeyIdentifier & aKeyID

LookupCert(CX509Certificate *)

TBool LookupCert(CX509Certificate *aCert)[private]

Parameters

CX509Certificate * aCert

NewL(const CTlsCryptoAttributes &, HBufC8 *)

CTlsClntAuthenticate *NewL(const CTlsCryptoAttributes &aTlsCryptoAttributes,
HBufC8 *aEncodedServerCerts
)[static]

Parameters

const CTlsCryptoAttributes & aTlsCryptoAttributes
HBufC8 * aEncodedServerCerts

OnEGetCertListL()

voidOnEGetCertListL()[private]

OnEGetIntermediatesIssuerL()

voidOnEGetIntermediatesIssuerL()[private]

OnEGetKeyListL()

voidOnEGetKeyListL()[private]

OnEListIntermediatesCACertsL()

voidOnEListIntermediatesCACertsL()[private]

OnEUserDialogL()

voidOnEUserDialogL()[private]

OnGetAvailableKeyListL()

voidOnGetAvailableKeyListL()[private]

RemoveExpiredCertificatesL()

voidRemoveExpiredCertificatesL()[private]

RunError(TInt)

TInt RunError(TIntaError)[private, virtual]

Parameters

TInt aError

RunL()

voidRunL()[private, virtual]

Handles an active object's request completion event.

A derived class must provide an implementation to handle the completed request. If appropriate, it may issue another request.

The function is called by the active scheduler when a request completion event occurs, i.e. after the active scheduler's WaitForAnyRequest() function completes.

Before calling this active object's RunL() function, the active scheduler has:

1. decided that this is the highest priority active object with a completed request

2. marked this active object's request as complete (i.e. the request is no longer outstanding)

RunL() runs under a trap harness in the active scheduler. If it leaves, then the active scheduler calls RunError() to handle the leave.

Note that once the active scheduler's Start() function has been called, all user code is run under one of the program's active object's RunL() or RunError() functions.

CActiveScheduler::Start CActiveScheduler::Error CActiveScheduler::WaitForAnyRequest TRAPD

Member Enumerations Documentation

Enum TStateLists

Enumerators

ENullState
EUserDialog
EGetCertList
EGetKeyList
EGetAvailableKeyList
EListIntermediatesCACerts
EGetIntermediatesIssuer

Member Data Documentation

TBool iAuthenticateOK

TBool iAuthenticateOK[private]

RMPointerArray< CCTCertInfo > iCertInfos

RMPointerArray< CCTCertInfo >iCertInfos[private]

TInt iCertTypeCount

TInt iCertTypeCount[private]

TBool iClientAuthenticationDlgEnabled

TBool iClientAuthenticationDlgEnabled[private]

RArray< TCTTokenObjectHandle > iClientCertHandleList

RArray< TCTTokenObjectHandle >iClientCertHandleList[private]

RPointerArray< const TDesC8 > iCurrentIssuerDistinguishedCANames

RPointerArray< const TDesC8 >iCurrentIssuerDistinguishedCANames[private]

TStateLists iCurrentState

TStateLists iCurrentState[private]

HBufC8 * iEncodedServerCerts

HBufC8 *iEncodedServerCerts[private]

RFs iFs

RFs iFs[private]

RPointerArray< const TDesC8 > iFullIssuerDistinguishedCANames

RPointerArray< const TDesC8 >iFullIssuerDistinguishedCANames[private]

TInt iIntermediatesCACertCount

TInt iIntermediatesCACertCount[private]

RMPointerArray< CCTCertInfo > iIntermediatesCACertInfos

RMPointerArray< CCTCertInfo >iIntermediatesCACertInfos[private]

CCertificate * iIntermediatesCertificate

CCertificate *iIntermediatesCertificate[private]

TInt iKeyCount

TInt iKeyCount[private]

RMPointerArray< CCTKeyInfo > iKeyInfos

RMPointerArray< CCTKeyInfo >iKeyInfos[private]

TRequestStatus * iOriginalRequestStatus

TRequestStatus *iOriginalRequestStatus[private]

CCertAttributeFilter * iPtrFilter

CCertAttributeFilter *iPtrFilter[private]

CCertAttributeFilter * iPtrIntermediatesCACertFilter

CCertAttributeFilter *iPtrIntermediatesCACertFilter[private]

CUnifiedCertStore * iPtrUnifiedCertStore

CUnifiedCertStore *iPtrUnifiedCertStore[private]

CUnifiedKeyStore * iPtrUnifiedKeyStore

CUnifiedKeyStore *iPtrUnifiedKeyStore[private]

MSecurityDialog * iSecurityDialog

MSecurityDialog *iSecurityDialog[private]

CCTCertInfo ** iSelectedCertInfo

CCTCertInfo **iSelectedCertInfo[private]

CCTKeyInfo ** iSelectedKeyInfo

CCTKeyInfo **iSelectedKeyInfo[private]

RPointerArray< CCertificate > * iStoredIntermediatesCACertificates

RPointerArray< CCertificate > *iStoredIntermediatesCACertificates[private]

RPointerArray< MCTKeyStore > iSupportedKeyStores

RPointerArray< MCTKeyStore >iSupportedKeyStores[private]

const CTlsCryptoAttributes & iTlsCryptoAttributes

const CTlsCryptoAttributes &iTlsCryptoAttributes[private]

TBool iToListIntermediatesCACert

TBool iToListIntermediatesCACert[private]

TCTTokenObjectHandle iUserSelectedCert

TCTTokenObjectHandle iUserSelectedCert[private]