CWTLSCertChain Class Reference

class CWTLSCertChain : public CBase

Implements a WTLS certificate chain.

Inherits from

Constructor & Destructor Documentation

CWTLSCertChain(RFs &)

CWTLSCertChain(RFs &aFs)[private]

Parameters

RFs & aFs

~CWTLSCertChain()

IMPORT_C~CWTLSCertChain()

Destructor.

Frees all resources owned by the object.

Member Functions Documentation

AppendCertsL(const TPtrC8 &)

IMPORT_C voidAppendCertsL(const TPtrC8 &aEncodedCerts)

Appends the specified encoded certificate to the chain.

Parameters

const TPtrC8 & aEncodedCertsOne or more concatenated DER encoded WTLS certificates. These certificates will be used as candidates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates.

Cert(TInt)

IMPORT_C const CWTLSCertificate &Cert(TIntaIndex)const

Gets the certificate at the specified index.

The WTLS certificate at the specified index.

Parameters

TInt aIndexThe ordinal number representing the position of the certificate within the chain.

ChainHasRoot()

IMPORT_C TBoolChainHasRoot()const

Tests whether the root certificate of the chain is locatable.

Note that the value is only significant after a successfull call to ValidateL().

ETrue if the chain has a root; EFalse, otherwise.

ConstructL(const TPtrC8 &, const TUid)

voidConstructL(const TPtrC8 &aEncodedCerts,
const TUidaClient
)[private]

Parameters

const TPtrC8 & aEncodedCerts
const TUid aClient

ConstructL(const TPtrC8 &, const CArrayPtr< CWTLSCertificate > &)

voidConstructL(const TPtrC8 &aEncodedCerts,
const CArrayPtr< CWTLSCertificate > &aRootCerts
)[private]

Parameters

const TPtrC8 & aEncodedCerts
const CArrayPtr< CWTLSCertificate > & aRootCerts

Count()

IMPORT_C TIntCount()const

Gets the number of WTLS certificates in the chain.

The number of WTLS certificates in the chain.

DoConstructL(const TPtrC8 &)

voidDoConstructL(const TPtrC8 &aEncodedCerts)[private]

Parameters

const TPtrC8 & aEncodedCerts

NewL(RFs &, const TPtrC8 &, const TUid)

IMPORT_C CWTLSCertChain *NewL(RFs &aFs,
const TPtrC8 &aEncodedCerts,
const TUidaClient
)[static]

Creates a certificate chain using the binary data in aEncodedCerts.

Parameters

RFs & aFsAn open file server session.
const TPtrC8 & aEncodedCertsOne or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates.
const TUid aClientThe uid of the client. It is a value identifying the application to the chain; this will be used to select a subset of stored certificates to use as candidate root certificates.

NewL(RFs &, const TPtrC8 &, const CArrayPtr< CWTLSCertificate > &)

IMPORT_C CWTLSCertChain *NewL(RFs &aFs,
const TPtrC8 &aEncodedCerts,
const CArrayPtr< CWTLSCertificate > &aRootCerts
)[static]

Creates a certificate chain using the binary data in aEncodedCerts.

Parameters

RFs & aFsAn open file server session.
const TPtrC8 & aEncodedCertsOne or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates. Any self signed certificates supplied here after the first one will be discarded, as self signed certificates cannot by definition be intermediate certificates.
const CArrayPtr< CWTLSCertificate > & aRootCertsAn array of certificates which the chain will treat as candidate root certificates. If one of these overloads is used, the chain will not look in stores for root certificates, but will only use the certificates supplied here.

NewLC(RFs &, const TPtrC8 &, const TUid)

IMPORT_C CWTLSCertChain *NewLC(RFs &aFs,
const TPtrC8 &aEncodedCerts,
const TUidaClient
)[static]

Creates a certificate chain using the binary data in aEncodedCerts and puts a pointer to the new object onto the cleanup stack.

Parameters

RFs & aFsAn open file server session
const TPtrC8 & aEncodedCertsOne or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates.
const TUid aClientThe uid of the client. It is a value identifying the application to the chain; this will be used to select a subset of stored certificates to use as candidate root certificates.

NewLC(RFs &, const TPtrC8 &, const CArrayPtr< CWTLSCertificate > &)

IMPORT_C CWTLSCertChain *NewLC(RFs &aFs,
const TPtrC8 &aEncodedCerts,
const CArrayPtr< CWTLSCertificate > &aRootCerts
)[static]

Creates a certificate chain using the binary data in aEncodedCerts and puts a pointer to the new object onto the cleanup stack.

Parameters

RFs & aFsAn open file server session.
const TPtrC8 & aEncodedCertsOne or more concatenated DER encoded WTLS certificates. The first certificate will be interpreted as the end entity certificate to be validated; subsequent certificates may be in any order and may be used by the chain as intermediate certificates, but not root certificates. Any self signed certificates supplied here after the first one will be discarded as self signed certificates cannot by definition be intermediate certificates.
const CArrayPtr< CWTLSCertificate > & aRootCertsAn array of certificates which the chain will treat as candidate root certificates. If one of these overloads is used, the chain will not look in stores for root certificates, but will only use the certificates supplied here.

ValidateL(CWTLSValidationResult &, const TTime &, TRequestStatus &)

IMPORT_C voidValidateL(CWTLSValidationResult &aValidationResult,
const TTime &aValidationTime,
TRequestStatus &aStatus
)

Validates the chain.

Parameters

CWTLSValidationResult & aValidationResultOn completion, this contains the result of the validation.
const TTime & aValidationTimeThe time for which validation should be performed, usually the current time.
TRequestStatus & aStatusAn asynchronous request status object.

Member Data Documentation

CWTLSCertChainAO * iActiveObject

CWTLSCertChainAO *iActiveObject[private]

CArrayPtrFlat< CWTLSCertificate > * iChain

CArrayPtrFlat< CWTLSCertificate > *iChain[private]

TBool iChainHasRoot

TBool iChainHasRoot[private]

RFs & iFs

RFs &iFs[private]