CUnifiedCertStore Class Reference

class CUnifiedCertStore : public CActive

The unified certificate store.

This class provides a certificate store whose contents are the sum of the contents of all certificate store implementations on the device. It is intended as the single point of access for clients wishing to use certificate stores.

Since this class is intended for widespread use, capability checks relating to certificate access are documented here even though the checks are actually made in the individual cert store implementations.

Inherits from

Public Member Functions
~CUnifiedCertStore ()
void Applications (const CCTCertInfo &, RArray < TUid > &, TRequestStatus &)
void CancelApplications ()
void CancelGetCert ()
IMPORT_C void CancelInitialize ()
void CancelIsApplicable ()
void CancelList ()
IMPORT_C void CancelRemove ()
void CancelRetrieve ()
IMPORT_C void CancelSetApplicability ()
IMPORT_C void CancelSetTrust ()
void CancelTrusted ()
IMPORT_C MCTCertStore & CertStore ( TInt )
IMPORT_C TInt CertStoreCount ()
void GetCert ( CCTCertInfo *&, const TCTTokenObjectHandle &, TRequestStatus &)
IMPORT_C void Initialize ( TRequestStatus &)
void IsApplicable (const CCTCertInfo &, TUid , TBool &, TRequestStatus &)
void List ( RMPointerArray < CCTCertInfo > &, const CCertAttributeFilter &, TRequestStatus &)
IMPORT_C void List ( RMPointerArray < CCTCertInfo > &, const CCertAttributeFilter &, const TDesC8 &, TRequestStatus &)
IMPORT_C void List ( RMPointerArray < CCTCertInfo > &, const CCertAttributeFilter &, RPointerArray < const TDesC8 >, TRequestStatus &)
IMPORT_C CUnifiedCertStore * NewL ( RFs &, TBool )
IMPORT_C CUnifiedCertStore * NewL ( RFs &, TBool , RArray < TInt > &)
IMPORT_C CUnifiedCertStore * NewLC ( RFs &, TBool )
IMPORT_C CUnifiedCertStore * NewLC ( RFs &, TBool , RArray < TInt > &)
IMPORT_C MCTCertStore & ReadOnlyCertStore ( TInt )
IMPORT_C TInt ReadOnlyCertStoreCount ()
IMPORT_C void Remove (const CCTCertInfo &, TRequestStatus &)
void Retrieve (const CCTCertInfo &, TDes8 &, TRequestStatus &)
IMPORT_C void Retrieve (const CCTCertInfo &, CCertificate *&, TRequestStatus &)
IMPORT_C void SetApplicability (const CCTCertInfo &, const RArray < TUid > &, TRequestStatus &)
IMPORT_C void SetTrust (const CCTCertInfo &, TBool , TRequestStatus &)
void Trusted (const CCTCertInfo &, TBool &, TRequestStatus &)
IMPORT_C MCTWritableCertStore & WritableCertStore ( TInt )
IMPORT_C TInt WritableCertStoreCount ()
Private Member Functions
CUnifiedCertStore ( RFs &, TBool )
void AllocWorkingVarsL ()
void ApplicationsL (const CCTCertInfo &, RArray < TUid > &)
void ApplyOrderingL ( RCPointerArray < CCTTokenTypeInfo > &)
void BeginAsyncOp ( TRequestStatus &, TState )
void CancelOutstandingRequest ()
TCompareResults CompareCertInfoDN (const CCTCertInfo *)
void Complete ( TInt )
void ConstructL ( RArray < TInt > &)
void DestroyTemporaryMembers ()
void DoCancel ()
void FilterTokenTypesL ( RCPointerArray < CCTTokenTypeInfo > &, RCPointerArray < CCTTokenTypeInfo > &, TInt )
void FindCertStoreL (const TCTTokenObjectHandle &)
void FindWritableCertStoreL (const TCTTokenObjectHandle &)
void GetCertL ( CCTCertInfo *&, const TCTTokenObjectHandle &)
MCTCertStore * GetCertStore (const TCTTokenObjectHandle &)
void InitializeL ()
void IsApplicableL (const CCTCertInfo &, TUid , TBool &)
void ListL ( RMPointerArray < CCTCertInfo > &, const CCertAttributeFilter &)
void ListL ( RMPointerArray < CCTCertInfo > &, const CCertAttributeFilter &, RPointerArray < const TDesC8 >)
TBool MatchL (const CX500DistinguishedName &)
void RemoveL (const CCTCertInfo &)
void RetrieveDataL (const CCTCertInfo &, TDes8 &)
void RetrieveL (const CCTCertInfo &, CCertificate *&)
TInt RunError ( TInt )
void RunL ()
void SetApplicabilityL (const CCTCertInfo &, const RArray < TUid > &)
void SetTrustL (const CCTCertInfo &, TBool )
void TrustedL (const CCTCertInfo &, TBool &)
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
enum TCompareResults { ENo , EYes , EMaybe }
enum TState {
EIdle , EInitializeGetTokenList , EInitializeGetToken , EInitializeGetWritableInterface , EInitializeGetReadableInterface , EInitializeGetReadableInterfaceFinished , EInitializeFinished , EList , ERetrieve , ERetrieveForList , EGetCert , EApplications , EIsApplicable , ETrusted , ERetrieveData , ERemove , ESetApplicability , ESetTrust
}
Inherited Enumerations
CActive:TPriority
Private Attributes
RPointerArray < CCheckedCertStore > iCertStores
TRequestStatus * iClientStatus
MCTCertStore * iCurrentCertStore
MCTWritableCertStore * iCurrentWritableCertStore
TBool iCurrentlyDoingReadOnly
RFs & iFs
RArray < TUid > iHardwareTypeUids
TInt iIndex
TInt iIndexTokens
TBool iIsInitialized
TBool iOpenedForWrite
RArray < TInt > iOrderAttributes
RProperty iPSCertstoreChangeProperty
RPointerArray < CCheckedCertStore > iReadOnlyCertStores
TState iState
MCTToken * iToken
MCTTokenInterface * iTokenInterface
MCTTokenType * iTokenType
RCPointerArray < HBufC > iTokens
TInt32 iUnused1
TInt32 iUnused2
CUnifiedCertStoreWorkingVars * iWorkingVars
RPointerArray < CCheckedCertStore > iWritableCertStores
Inherited Attributes
CActive::iStatus

Constructor & Destructor Documentation

CUnifiedCertStore(RFs &, TBool)

CUnifiedCertStore ( RFs & aFs,
TBool aOpenForWrite
) [private]

Parameters

RFs & aFs
TBool aOpenForWrite

~CUnifiedCertStore()

IMPORT_C ~CUnifiedCertStore ( )

The destructor destroys all the resources owned by this object.

Member Functions Documentation

AllocWorkingVarsL()

void AllocWorkingVarsL ( ) [private]

Applications(const CCTCertInfo &, RArray< TUid > &, TRequestStatus &)

void Applications ( const CCTCertInfo & aCertInfo,
RArray < TUid > & aApplications,
TRequestStatus & aStatus
) [virtual]

Gets the list of applications . Applications are represented by UIDs .

Parameters

const CCTCertInfo & aCertInfo
RArray < TUid > & aApplications An array that the returned application UIDs are added to.
TRequestStatus & aStatus The request status object.

ApplicationsL(const CCTCertInfo &, RArray< TUid > &)

void ApplicationsL ( const CCTCertInfo & aCertInfo,
RArray < TUid > & aApplications
) [private]

Parameters

const CCTCertInfo & aCertInfo
RArray < TUid > & aApplications

ApplyOrderingL(RCPointerArray< CCTTokenTypeInfo > &)

void ApplyOrderingL ( RCPointerArray < CCTTokenTypeInfo > & aTokenTypes ) [private]

Parameters

RCPointerArray < CCTTokenTypeInfo > & aTokenTypes

BeginAsyncOp(TRequestStatus &, TState)

void BeginAsyncOp ( TRequestStatus & aStatus,
TState aState
) [private]

Parameters

TRequestStatus & aStatus
TState aState

CancelApplications()

void CancelApplications ( ) [virtual]

CancelGetCert()

void CancelGetCert ( ) [virtual]

CancelInitialize()

IMPORT_C void CancelInitialize ( )

Cancels an ongoing Initialize() operation.

The operation completes with KErrCancel.

CancelIsApplicable()

void CancelIsApplicable ( ) [virtual]

CancelList()

void CancelList ( ) [virtual]

CancelOutstandingRequest()

void CancelOutstandingRequest ( ) [private]

CancelRemove()

IMPORT_C void CancelRemove ( )

Cancels an ongoing Remove() operation.

The operation completes with KErrCancel.

CancelRetrieve()

void CancelRetrieve ( ) [virtual]

CancelSetApplicability()

IMPORT_C void CancelSetApplicability ( )

Cancels an ongoing SetApplicability() operation.

The operation completes with KErrCancel.

CancelSetTrust()

IMPORT_C void CancelSetTrust ( )

Cancels an ongoing SetTrust() operation.

The operation completes with KErrCancel.

CancelTrusted()

void CancelTrusted ( ) [virtual]

CertStore(TInt)

IMPORT_C MCTCertStore & CertStore ( TInt aIndex )

Gets a particular certificate store.

Parameters

TInt aIndex The index of the required certificate store. A number between 0 and CertStoreCount() - 1.

CertStoreCount()

IMPORT_C TInt CertStoreCount ( ) const

Gets the number of certificate stores.

CompareCertInfoDN(const CCTCertInfo *)

TCompareResults CompareCertInfoDN ( const CCTCertInfo * aCertInfo ) [private]

Parameters

const CCTCertInfo * aCertInfo

Complete(TInt)

void Complete ( TInt aError ) [private]

Parameters

TInt aError

ConstructL(RArray< TInt > &)

void ConstructL ( RArray < TInt > & aOrderFilter ) [private]

Parameters

RArray < TInt > & aOrderFilter

DestroyTemporaryMembers()

void DestroyTemporaryMembers ( ) [private]

DoCancel()

void DoCancel ( ) [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

FilterTokenTypesL(RCPointerArray< CCTTokenTypeInfo > &, RCPointerArray< CCTTokenTypeInfo > &, TInt)

void FilterTokenTypesL ( RCPointerArray < CCTTokenTypeInfo > & aSearchTokenTypes,
RCPointerArray < CCTTokenTypeInfo > & aTempTokenTypes,
TInt aOrderAttribute
) [private]

Parameters

RCPointerArray < CCTTokenTypeInfo > & aSearchTokenTypes
RCPointerArray < CCTTokenTypeInfo > & aTempTokenTypes
TInt aOrderAttribute

FindCertStoreL(const TCTTokenObjectHandle &)

void FindCertStoreL ( const TCTTokenObjectHandle & aHandle ) [private]

Parameters

const TCTTokenObjectHandle & aHandle

FindWritableCertStoreL(const TCTTokenObjectHandle &)

void FindWritableCertStoreL ( const TCTTokenObjectHandle & aHandle ) [private]

Parameters

const TCTTokenObjectHandle & aHandle

GetCert(CCTCertInfo *&, const TCTTokenObjectHandle &, TRequestStatus &)

void GetCert ( CCTCertInfo *& aCertInfo,
const TCTTokenObjectHandle & aHandle,
TRequestStatus & aStatus
) [virtual]

Parameters

CCTCertInfo *& aCertInfo
const TCTTokenObjectHandle & aHandle
TRequestStatus & aStatus

GetCertL(CCTCertInfo *&, const TCTTokenObjectHandle &)

void GetCertL ( CCTCertInfo *& aCertInfo,
const TCTTokenObjectHandle & aHandle
) [private]

Parameters

CCTCertInfo *& aCertInfo
const TCTTokenObjectHandle & aHandle

GetCertStore(const TCTTokenObjectHandle &)

MCTCertStore * GetCertStore ( const TCTTokenObjectHandle & aHandle ) [private]

Parameters

const TCTTokenObjectHandle & aHandle

Initialize(TRequestStatus &)

IMPORT_C void Initialize ( TRequestStatus & aStatus )

Initializes the manager.

It must be called after the manager has been constructed and before any call to the manager functions.

This is an asynchronous request.

Parameters

TRequestStatus & aStatus The request status object; contains the result of the Initialize() request when complete. Set to KErrCancel if any outstanding request is cancelled.

InitializeL()

void InitializeL ( ) [private]

IsApplicable(const CCTCertInfo &, TUid, TBool &, TRequestStatus &)

void IsApplicable ( const CCTCertInfo & aCertInfo,
TUid aApplication,
TBool & aIsApplicable,
TRequestStatus & aStatus
) [virtual]

Parameters

const CCTCertInfo & aCertInfo
TUid aApplication
TBool & aIsApplicable
TRequestStatus & aStatus

IsApplicableL(const CCTCertInfo &, TUid, TBool &)

void IsApplicableL ( const CCTCertInfo & aCertInfo,
TUid aApplication,
TBool & aIsApplicable
) [private]

Parameters

const CCTCertInfo & aCertInfo
TUid aApplication
TBool & aIsApplicable

List(RMPointerArray< CCTCertInfo > &, const CCertAttributeFilter &, TRequestStatus &)

void List ( RMPointerArray < CCTCertInfo > & aCertInfos,
const CCertAttributeFilter & aFilter,
TRequestStatus & aStatus
) [virtual]

Lists all certificates that satisfy the supplied filter.

Parameters

RMPointerArray < CCTCertInfo > & aCertInfos An array that the returned certificates are added to .
const CCertAttributeFilter & aFilter A filter to restrict which certificates are returned.
TRequestStatus & aStatus The request status object.

List(RMPointerArray< CCTCertInfo > &, const CCertAttributeFilter &, const TDesC8 &, TRequestStatus &)

IMPORT_C void List ( RMPointerArray < CCTCertInfo > & aCertInfos,
const CCertAttributeFilter & aFilter,
const TDesC8 & aIssuer,
TRequestStatus & aStatus
)

Lists all certificates that have a particular subject DN.

Parameters

RMPointerArray < CCTCertInfo > & aCertInfos An array that the returned certificates are added to
const CCertAttributeFilter & aFilter A filter to restrict which certificates are returned.
const TDesC8 & aIssuer Only certificates with this issuer DN will be returned
TRequestStatus & aStatus Asynchronous request status.

List(RMPointerArray< CCTCertInfo > &, const CCertAttributeFilter &, RPointerArray< const TDesC8 >, TRequestStatus &)

IMPORT_C void List ( RMPointerArray < CCTCertInfo > & aCertInfos,
const CCertAttributeFilter & aFilter,
RPointerArray < const TDesC8 > aIssuers,
TRequestStatus & aStatus
)

Lists all certificates that have a particular issuer.

Parameters

RMPointerArray < CCTCertInfo > & aCertInfos An array that the returned certificates are added to
const CCertAttributeFilter & aFilter A filter to restrict which certificates are returned.
RPointerArray < const TDesC8 > aIssuers Only certificates with this issuer will be returned
TRequestStatus & aStatus Asynchronous request status.

ListL(RMPointerArray< CCTCertInfo > &, const CCertAttributeFilter &)

void ListL ( RMPointerArray < CCTCertInfo > & aCertInfos,
const CCertAttributeFilter & aFilter
) [private]

Parameters

RMPointerArray < CCTCertInfo > & aCertInfos
const CCertAttributeFilter & aFilter

ListL(RMPointerArray< CCTCertInfo > &, const CCertAttributeFilter &, RPointerArray< const TDesC8 >)

void ListL ( RMPointerArray < CCTCertInfo > & aCertInfos,
const CCertAttributeFilter & aFilter,
RPointerArray < const TDesC8 > aIssuers
) [private]

Parameters

RMPointerArray < CCTCertInfo > & aCertInfos
const CCertAttributeFilter & aFilter
RPointerArray < const TDesC8 > aIssuers

MatchL(const CX500DistinguishedName &)

TBool MatchL ( const CX500DistinguishedName & aName ) const [private]

Parameters

const CX500DistinguishedName & aName

NewL(RFs &, TBool)

IMPORT_C CUnifiedCertStore * NewL ( RFs & aFs,
TBool aOpenForWrite
) [static]

Creates a new CUnifiedCertStore

Parameters

RFs & aFs A file server session. It must already be open.
TBool aOpenForWrite ETrue if the stores must be opened with write access (e.g. for adding certificates) and EFalse if the user only needs read-only access.

NewL(RFs &, TBool, RArray< TInt > &)

IMPORT_C CUnifiedCertStore * NewL ( RFs & aFs,
TBool aOpenForWrite,
RArray < TInt > & aOrderFilter
) [static]

Creates a new CUnifiedCertStore with the sequence filter, so that multiple certstores that are managed by it will be filtered and ordered.

Parameters

RFs & aFs A file server session. It must already be open.
TBool aOpenForWrite ETrue if the stores must be opened with write access (e.g. for adding certificates) and EFalse if the user only needs read-only access. Ownership is taken.
RArray < TInt > & aOrderFilter An array of the unique sequence IDs specifying CertStore ordering.

NewLC(RFs &, TBool)

IMPORT_C CUnifiedCertStore * NewLC ( RFs & aFs,
TBool aOpenForWrite
) [static]

Creates a new CUnifiedCertStore and pushes it on the cleanup stack.

Parameters

RFs & aFs A file server session. It must already be open.
TBool aOpenForWrite ETrue if the stores must be opened with write access (e.g. for adding certificates) and EFalse if the user only needs read-only access.

NewLC(RFs &, TBool, RArray< TInt > &)

IMPORT_C CUnifiedCertStore * NewLC ( RFs & aFs,
TBool aOpenForWrite,
RArray < TInt > & aOrderFilter
) [static]

Creates a new CUnifiedCertStore with the sequence filter, so that multiple certstores that are managed by it will be filtered and ordered, and it is pushed on the cleanup stack.

Parameters

RFs & aFs A file server session. It must already be open.
TBool aOpenForWrite ETrue if the stores must be opened with write access (e.g. for adding certificates) and EFalse if the user only needs read-only access. Ownership is taken.
RArray < TInt > & aOrderFilter An array of the unique sequence IDs specifying CertStore ordering.

ReadOnlyCertStore(TInt)

IMPORT_C MCTCertStore & ReadOnlyCertStore ( TInt aIndex )

Gets a particular read-only certificate store.

Parameters

TInt aIndex The index of the required certificate store. A number between 0 and ReadOnlyCertStoreCount() - 1.

ReadOnlyCertStoreCount()

IMPORT_C TInt ReadOnlyCertStoreCount ( ) const

Gets the number of read-only certificate stores.

Remove(const CCTCertInfo &, TRequestStatus &)

IMPORT_C void Remove ( const CCTCertInfo & aCertInfo,
TRequestStatus & aStatus
)

Removes a certificate.

capability
WriteUserData This requires the WriteUserData capability when applied to user certificates.
capability
WriteDeviceData This requires the WriteDeviceData capability when applied to CA certificates.
leave
KErrPermissionDenied If the caller doesn't have the required capabilities.

Parameters

const CCTCertInfo & aCertInfo The certificate to be removed.
TRequestStatus & aStatus The request status object; contains the result of the Remove() request when complete. Set to KErrCancel if an outstanding request is cancelled.

RemoveL(const CCTCertInfo &)

void RemoveL ( const CCTCertInfo & aCertInfo ) [private]

Parameters

const CCTCertInfo & aCertInfo

Retrieve(const CCTCertInfo &, TDes8 &, TRequestStatus &)

void Retrieve ( const CCTCertInfo & aCertInfo,
TDes8 & aEncodedCert,
TRequestStatus & aStatus
) [virtual]

Parameters

const CCTCertInfo & aCertInfo
TDes8 & aEncodedCert
TRequestStatus & aStatus

Retrieve(const CCTCertInfo &, CCertificate *&, TRequestStatus &)

IMPORT_C void Retrieve ( const CCTCertInfo & aCertInfo,
CCertificate *& aCert,
TRequestStatus & aStatus
)

Retrieves a certificate as a parsed object.

This will only work for certificates that have a CCertificate-derived representation, in other words X509 and WTLS certificates. If called for a URL certificate, KErrNotSupported is returned.

capability
ReadUserData This requires the ReadUserData capability when applied to user certificates, as these may contain sensitive user data.
leave
KErrPermissionDenied If called for a user certificate when the caller doesn't have the ReadUserData capability.

Parameters

const CCTCertInfo & aCertInfo The certificate to retrieve
CCertificate *& aCert The returned certificate. This object can safely be up-cast to a CX509Certificate or CWTLSCertificate if it's known that that is the certificate format.
TRequestStatus & aStatus Asynchronous request status.

RetrieveDataL(const CCTCertInfo &, TDes8 &)

void RetrieveDataL ( const CCTCertInfo & aCertInfo,
TDes8 & aEncodedCert
) [private]

Parameters

const CCTCertInfo & aCertInfo
TDes8 & aEncodedCert

RetrieveL(const CCTCertInfo &, CCertificate *&)

void RetrieveL ( const CCTCertInfo & aCertInfo,
CCertificate *& aCert
) [private]

Parameters

const CCTCertInfo & aCertInfo
CCertificate *& aCert

RunError(TInt)

TInt RunError ( TInt aError ) [private, virtual]

Parameters

TInt aError

RunL()

void RunL ( ) [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

SetApplicability(const CCTCertInfo &, const RArray< TUid > &, TRequestStatus &)

IMPORT_C void SetApplicability ( const CCTCertInfo & aCertInfo,
const RArray < TUid > & aApplications,
TRequestStatus & aStatus
)

Replaces the current applicability settings with the settings in the supplied array.

This should only be called for CA certificates - it has no meaning for user certificates.

capability
WriteDeviceData This requires the WriteDeviceData capability.
leave
KErrPermissionDenied If the caller doesn't have the required capabilities.

Parameters

const CCTCertInfo & aCertInfo The certificate whose applicability should be updated.
const RArray < TUid > & aApplications The new applicability settings. Ownership of this remains with the caller, and it must remain valid for the lifetime of the call.
TRequestStatus & aStatus The request status object; contains the result of the SetApplicability() request when complete. Set to KErrCancel, if an outstanding request is cancelled.

SetApplicabilityL(const CCTCertInfo &, const RArray< TUid > &)

void SetApplicabilityL ( const CCTCertInfo & aCertInfo,
const RArray < TUid > & aApplications
) [private]

Parameters

const CCTCertInfo & aCertInfo
const RArray < TUid > & aApplications

SetTrust(const CCTCertInfo &, TBool, TRequestStatus &)

IMPORT_C void SetTrust ( const CCTCertInfo & aCertInfo,
TBool aTrusted,
TRequestStatus & aStatus
)

Changes the trust settings.

A CA certificate is trusted if the user is willing to use it for authenticating servers. It has no meaning with other types of certificates.

capability
WriteDeviceData This requires the WriteDeviceData capability.
leave
KErrPermissionDenied If the caller doesn't have the required capabilities.

Parameters

const CCTCertInfo & aCertInfo The certificate to be updated.
TBool aTrusted ETrue, if trusted; EFalse, otherwise.
TRequestStatus & aStatus The request status object; contains the result of the SetTrust() request when complete. Set to KErrCancel, if an outstanding request is cancelled.

SetTrustL(const CCTCertInfo &, TBool)

void SetTrustL ( const CCTCertInfo & aCertInfo,
TBool aTrusted
) [private]

Parameters

const CCTCertInfo & aCertInfo
TBool aTrusted

Trusted(const CCTCertInfo &, TBool &, TRequestStatus &)

void Trusted ( const CCTCertInfo & aCertInfo,
TBool & aTrusted,
TRequestStatus & aStatus
) [virtual]

Parameters

const CCTCertInfo & aCertInfo
TBool & aTrusted
TRequestStatus & aStatus

TrustedL(const CCTCertInfo &, TBool &)

void TrustedL ( const CCTCertInfo & aCertInfo,
TBool & aTrusted
) [private]

Parameters

const CCTCertInfo & aCertInfo
TBool & aTrusted

WritableCertStore(TInt)

IMPORT_C MCTWritableCertStore & WritableCertStore ( TInt aIndex )

Gets a particular writeable certificate store.

Parameters

TInt aIndex The index of the required certificate store. A number between 0 and WriteableCertStoreCount() - 1.

WritableCertStoreCount()

IMPORT_C TInt WritableCertStoreCount ( ) const

Gets the number of writeable certificate stores.

Member Enumerations Documentation

Enum TCompareResults

Enumerators

ENo
EYes
EMaybe

Enum TState

Enumerators

EIdle
EInitializeGetTokenList
EInitializeGetToken
EInitializeGetWritableInterface
EInitializeGetReadableInterface
EInitializeGetReadableInterfaceFinished
EInitializeFinished
EList
ERetrieve
ERetrieveForList
EGetCert
EApplications
EIsApplicable
ETrusted
ERetrieveData
ERemove
ESetApplicability
ESetTrust

Member Data Documentation

RPointerArray< CCheckedCertStore > iCertStores

RPointerArray < CCheckedCertStore > iCertStores [private]

TRequestStatus * iClientStatus

TRequestStatus * iClientStatus [private]

This is the status of the caller of an asynchronous function. It must be set to KRequestPending by the function while doing the processing.

MCTCertStore * iCurrentCertStore

MCTCertStore * iCurrentCertStore [private]

The cert store in use by an outstanding async operation.

MCTWritableCertStore * iCurrentWritableCertStore

MCTWritableCertStore * iCurrentWritableCertStore [private]

The writable cert store in use by an outstanding async operation.

TBool iCurrentlyDoingReadOnly

TBool iCurrentlyDoingReadOnly [private]

RFs & iFs

RFs & iFs [private]

A file server session, this is not logically a part of this class but is needed for the client store and the file certstore.

RArray< TUid > iHardwareTypeUids

RArray < TUid > iHardwareTypeUids [private]

All the UIDs of hardware token types

TInt iIndex

TInt iIndex [private]

The index of the plugin certstore that is being processed

TInt iIndexTokens

TInt iIndexTokens [private]

This is used as an index for the iTokens array when we try to get an interface to each of the tokens.

TBool iIsInitialized

TBool iIsInitialized [private]

TBool iOpenedForWrite

TBool iOpenedForWrite [private]

RArray< TInt > iOrderAttributes

RArray < TInt > iOrderAttributes [private]

RProperty iPSCertstoreChangeProperty

RProperty iPSCertstoreChangeProperty [private]

RPointerArray< CCheckedCertStore > iReadOnlyCertStores

RPointerArray < CCheckedCertStore > iReadOnlyCertStores [private]

TState iState

TState iState [private]

MCTToken * iToken

MCTToken * iToken [private]

A Token interface. We will use the interface to get a readable or writable certstore interface. The value is updated at EInitializeGetToken and used at EInitializeGetWritableInterface.

MCTTokenInterface * iTokenInterface

MCTTokenInterface * iTokenInterface [private]

We use this to (temporarily) store the interface we obtained from iToken. It will be inserted in iWritableCertStores or iCertStores.

MCTTokenType * iTokenType

MCTTokenType * iTokenType [private]

This a TokenType retrieved from the iTokenTypes array. We use this to get a list of Tokens and to open these Tokens.

RCPointerArray< HBufC > iTokens

RCPointerArray < HBufC > iTokens [private]

This is the list of Tokens for one of the Token Types of iTokenTypes.

TInt32 iUnused1

TInt32 iUnused1 [private]

TInt32 iUnused2

TInt32 iUnused2 [private]

CUnifiedCertStoreWorkingVars * iWorkingVars

CUnifiedCertStoreWorkingVars * iWorkingVars [private]

This member holds all the variables that are only used to store temporary results while performing a given operation. It must be initialized at the start of the operation and deleted at the end of it whether the opeartion completes successfully or not. When no operation is being performed it must be 0.

RPointerArray< CCheckedCertStore > iWritableCertStores

RPointerArray < CCheckedCertStore > iWritableCertStores [private]